Jak zaprojektowane są procesory?

21

Od jakiegoś czasu zacząłem grać z elektroniką i tworzyć proste bramki logiczne za pomocą tranzystorów. Wiem, że nowoczesne układy scalone używają CMOS zamiast logiki tranzystor-tranzystor. Zastanawiam się nad tym, jak zaprojektowano procesory.

Czy projektowanie jest nadal wykonywane na poziomie (pod) logiki, czy też nie ma już dużo innowacji w tym obszarze i czy przeszliśmy na wyższy poziom abstrakcji? Rozumiem, jak zbudowana jest jednostka ALU, ale procesory mają znacznie więcej.

Skąd się biorą projekty miliardów tranzystorów? Czy są one generowane głównie automatycznie przez oprogramowanie, czy wciąż istnieje wiele ręcznych optymalizacji?

Overv
źródło
2
Powiedziałbym Verilog lub VHDL.
avakar
3
Chociaż tematy te są fascynujące, wydaje się, że jesteśmy daleko od „praktycznych, możliwych do odpowiedzi pytań opartych na rzeczywistych problemach, z którymi się borykasz” . Mogę też wyobrazić sobie całą książkę, która odpowiada na to pytanie.
Martin
1
@Overv, wciąż jest dużo pracy, w której upewniasz się, że twoje połączone bloki bazowe są zoptymalizowane na poziomie bramki, a następnie po prostu podłączasz te zoptymalizowane bloki w zoptymalizowany sposób!
Kortuk
13
Głosowałem za ponownym otwarciem - chociaż zgadzam się, że pełna odpowiedź mówiąca „wszystko, co musisz wiedzieć, aby zbudować cały procesor od zera”, nie pasuje do tej witryny, myślę, że krótki przegląd i kilka linków byłoby dobra odpowiedź tutaj.
Davidcary
1
Dziwi mnie, że nie ma żadnych osób pracujących w branży półprzewodników, którzy mogliby tutaj komentować bardziej złożone projekty ASIC. Ponieważ nie jestem ekspertem, to tylko niektóre rzeczy, które słyszałem: istnieje wiele licencji na rdzenie IP, a dziedzina, w której wszystko jest połączone, nazywa się VLSI. Wierzę, że projektowanie odbywa się w VHDL / Verilog przy użyciu wysoce zoptymalizowanych narzędzi do syntezy - jak to się sprowadza do poziomu płytki i produkcji jest poza moją wiedzą.
Jon L

Odpowiedzi:

10

Jest bardzo prawdopodobne, że procesory i układy SoC są używane przez języki opisu sprzętu, takie jak Verilog i VHDL (dwa główne odtwarzacze).

Te języki pozwalają na różne poziomy abstrakcji. W VHDL można zdefiniować bloki logiczne jako byty; zawiera porty wejściowe i wyjściowe. W bloku można zdefiniować wymaganą logikę. Załóżmy, że definiujesz blok z wejściem A, wejściem B i wyjściem C. Możesz łatwo napisać C = A i B ;, i po prostu utworzyłeś blok portu AND. To prawdopodobnie najprostszy blok, jaki możesz sobie wyobrazić.

Systemy cyfrowe są zwykle projektowane z silną hierarchią. Można uruchomić „najwyższy poziom” za pomocą głównych funkcji wymaganych przez procesor: pamięci procesora (wielu?), PCI-express i innych magistral. Na tym poziomie szyny i sygnały komunikacyjne między pamięcią a procesorem mogą być już zdefiniowane.

Kiedy zejdziesz o jeden poziom niżej, będzie to definiować czynności, które sprawiają, że coś „działa”. Jako przykład mikrokontrolera może zawierać interfejs UART. Rzeczywista logika wymagana do stworzenia funkcjonalnego UART jest zdefiniowana jeden poziom poniżej. W tym przypadku może być wymagana wiele innych logik do generowania i dzielenia wymaganego zegara, danych bufora (buforów FIFO), raportowania danych do CPU (pewnego rodzaju magistrali system).

Ciekawą cechą VHDL i projektowania cyfrowego jest ponowne użycie bloków. Możesz na przykład skopiować i wkleić blok UART na swoim najwyższym poziomie, aby utworzyć 2 UART (no, może nie jest to takie proste, tylko jeśli blok UART jest w stanie adresować!).

Ten projekt nie jest jakimkolwiek projektem na poziomie bramy. VHDL można również „skompilować” w taki sposób, aby w końcu został przetłumaczony na bramki logiczne. Maszyna może zoptymalizować to znacznie lepiej niż człowiek (i szybciej). Na przykład; elementy wewnętrzne bloku A wymagają falownika przed wyprowadzeniem sygnału. Blok B przyjmuje ten sygnał wyjściowy i odwraca go ponownie. Cóż, 2 falowniki szeregowo niewiele robią, prawda? Prawidłowo, więc równie dobrze możesz je pominąć. Jednak w projekcie „najwyższego poziomu” nie będzie można dostrzec dwóch falowników szeregowo. Widoczne są tylko dwa połączone porty. Kompilator może zoptymalizować to znacznie szybciej niż człowiek.

Zasadniczo to, co zawiera system cyfrowy, to opis, w jaki sposób logika powinna „zachowywać się”, a komputer służy do ustalenia, jaki jest najbardziej efektywny sposób rozłożenia poszczególnych bramek logicznych.

Hans
źródło
Ponieważ w oprogramowaniu wciąż jest miejsce na kod asemblera, projektowanie sprzętu niższego poziomu może być opłacalne w niektórych przypadkach. Na przykład komórki SRAM są często tak często używane, że opracowuje się wysoce zoptymalizowane projekty w celu optymalizacji pod kątem gęstości (pamięć podręczna ostatniego poziomu), opóźnień dostępu (pamięć podręczna L1) lub innych cech, szczególnie u zintegrowanego producenta projektowego, takiego jak Intel.
Paul A. Clayton,
@Paul intrygujące pytanie, które rodzi się dla mnie, dotyczy tego, ile Intel inwestuje w ręczne optymalizowanie swoich projektów w porównaniu do pisania przebiegów optymalizacji oprogramowania, które osiągają te same ulepszenia wydajności dynamicznie i bardziej ogólnie.
Ponkadoodle,
6

Pozwól mi uprościć i rozwinąć moje poprzednie komentarze i połączyć kropki dla tych, którzy wydają się tego potrzebować.

Czy projektowanie jest nadal wykonywane na poziomie bramki (pod) logicznej?

  • TAK

Projektowanie odbywa się na wielu poziomach, poziom podlogiczny jest zawsze inny . Każdy skurcz produkcyjny wymaga najwspanialszej fizyki, chemii i procesu litograficznego, ponieważ zmienia się także struktura tranzystora i geometria, aby zrekompensować kompromisy, ponieważ zmniejsza się do poziomów atomowych i kosztuje ~ miliardy dolarów za każdy krok binarny rozmiar. Osiągnięcie geometrii 14 nm jest ogromnym przedsięwzięciem w dziedzinie badań i rozwoju, kontroli i zarządzania procesami, a to wciąż mało powiedziane!wprowadź opis zdjęcia tutaj

Na przykład umiejętności wymagane do tego celu obejmują; - „Niestandardowe układy FET, komórek i bloków, plany pięter na poziomie FUB, generowanie abstrakcyjnych widoków, ekstrakcja RC oraz weryfikacja schematów i układów oraz debugowanie z wykorzystaniem faz projektowania fizycznego, w tym ekstrakcji pasożytniczej, synchronizacji statycznej, obciążenia drutu modele, generowanie zegara, niestandardowe edytowanie wielokątów, algorytmy automatycznego umieszczania i trasowania, planowanie pięter, kompletny układ, pakowanie i weryfikacja. ”*

- czy nie ma już dużo innowacji w tej dziedzinie? - ŹLE - Istnieją znaczące i mocno finansowane innowacje w dziedzinie fizyki półprzewodników, sądząc po prawie Moore'a i liczbie patentów, nigdy się nie zatrzymają. Za każdym razem opłaca się oszczędność energii, ciepła i czterokrotne zwiększenie zdolności.

- czy przeszliśmy na wyższy poziom abstrakcji? - Nigdy nie przestał się ruszać. - Z zapotrzebowaniem na więcej rdzeni, robienie więcej w jednej instrukcji, takiej jak procesory ARM RISC, mocniejsze wbudowane µC lub MCU, inteligentna pamięć RAM z DDR4, która ma domyślnie ECC i sektory takie jak flash z bitami priorytetowymi dla pilnych pobrań pamięci. - Ewolucja procesora i zmiany architektoniczne nigdy się nie zatrzymają. wprowadź opis zdjęcia tutaj

Pozwól, że dam ci podpowiedź. Przejdź do wyszukiwania pracy w Intel, AMD, TI lub AD dla inżynierów i zobacz opisy stanowisk.

- Skąd się biorą projekty miliardów tranzystorów? - Pochodzi z dodawania kolejnych 64-bitowych bloków sprzętowych. ale teraz pojawiają się awarie nanorurek, myślenie musi zmienić podejście z góry na dół bloków na podejście z dołu do góry w przypadku nanorurek, aby działało.

  • Czy w większości są generowane automatycznie przez oprogramowanie? z językiem mocno osadzonym w policzku ...
  • W rzeczywistości wciąż wydobywają projekty ze Strefy51 ze statków kosmicznych i mają przed sobą drogę… dopóki nie będziemy w pełni zgodni z nano-nano-tubą. Inżynier wchodzi do biblioteki i mówi nVidia, że ​​chcielibyśmy, abyś dołączył do nas tutaj na tym chipie i staje się częścią, która przechodzi w makrobloki . Układ może być replikowany jak mrówki w Toystory, ale jawna kontrola nad wszystkimi połączeniami musi być ręcznie trasowana / sprawdzana, a także używać DRC i automatycznego routingu do porównania. Tak Narzędzia automatyzacji są ciągle aktualizowane, aby usunąć powielanie i zmarnowany czas.

    - czy wciąż jest dużo ręcznej optymalizacji?

  • Biorąc pod uwagę, że jedna linia lotnicza zaoszczędziła wystarczająco dużo pieniędzy, aby zapłacić za wynagrodzenie, usuwając zaledwie 1 oliwkę z kolacji w Pierwszej Klasie, Intel będzie szukał sposobów na usunięcie jak największej liczby atomów w określonym czasie. Każda nadwyżka pojemności oznacza zmarnowane ciepło, wydajność, a także więcej hałasu, nie tak szybko ...

Ale tak naprawdę procesory rosną jak Tokio, nie jest to z dnia na dzień, ale dziesiątki milionów żyją tam teraz ze stałą poprawą. Nie nauczyłem się projektować w Univ. ale czytając i próbując zrozumieć, jak to działa, byłem w stanie dość szybko nabrać tempa w branży. Mam 10-letnie doświadczenie w moich pierwszych 5 latach w lotnictwie, projektowaniu instrumentów jądrowych, projektowaniu SCADA, monitorowaniu procesów, projektowaniu anten, projektowaniu i debugowaniu zautomatyzowanej stacji pogodowej, VLF Rx OCLO PLL, dwukierunkowym zdalnym sterowaniu rakietami Black Brandt ... i to była moja pierwsza praca. Nie miałem pojęcia, co mogę zrobić.

Nie martw się o miliardy tranzystorów ani nie bój się, czego się nauczyć lub ile musisz wiedzieć. Po prostu podążaj za swoją pasją i czytaj czasopisma branżowe pomiędzy snem, a wtedy nie będziesz wyglądać tak zielono w pracy i nie będzie już czuć się jak w pracy.

Pamiętam, że musiałem zaprojektować 741 „podobny” Op Amp w ramach egzaminu raz w ciągu 20 minut. Tak naprawdę nigdy go nie użyłem, ale potrafię dobrze rozpoznać po świetnych projektach. Ale wtedy miał tylko 20 tranzystorów.wprowadź opis zdjęcia tutaj

Ale jak zaprojektować procesor musi zaczynać się od specyfikacji, a mianowicie; Po co projektować procesor i tworzyć mierzalne wzorce do osiągnięcia, takie jak; - Na przykład instrukcje makro na sekundę (MIPS) (ważniejsze niż zegar procesora); - Układ Itanium firmy Intel oparty jest na tak zwanym projekcie EPIC (Explicitly Parallel Instruction Computing). - Opatentowana konstrukcja procesora Transmeta z bardzo długimi instrukcjami mikroprocesorów przekształcających kod słowny instrukcji (VLIWCMM). Pozywali Intela w 2006 r., Zamknęli sklep i zdecydowali się na ~ 200 mln USD w 2007 r. - Wydajność na wat (PPW), gdy koszty energii> koszt chipa (dla serwerów) - Zmienna liczba operacji na sekundę (FLOPS) dla wydajności matematycznej.

Jest o wiele więcej wskaźników, ale nigdy nie opieraj jakości projektu procesora na jego szybkości GHz (patrz mit)

Jakie narzędzia są potrzebne do projektowania procesorów? Lista nie zmieściłaby się na tej stronie, od projektu fizyki na poziomie atomowym do projektu dynamicznej siatki EMC fizycznego EM / RF po inżyniera testującego weryfikację projektu interfejsu, gdzie wymagane umiejętności obejmują; - Front-end RTL Simulation - znajomość architektury IA i architektury komputera oraz projektowania na poziomie systemu - Weryfikacja i symulacja logiki przy użyciu VHDL lub Verilog. - Programowanie obiektowe i różne protokoły CPU, magistrali / interkonektu, koherencji.

Tony Stewart Sunnyskyguy EE75
źródło
6
„Verilog” i „VHDL” jedynie zarysowują powierzchnię tych wszystkich naiwnych, ale inspirujących pytań. Świat rzeczywisty jest znacznie bardziej analogowy niż cyfrowy, niż się wydaje.
Tony Stewart Sunnyskyguy EE75
Czy gdzieś masz wyjaśnienie obwodu wzmacniacza operacyjnego. Wszystko, co widzę, to OTA w formie kaskadowej, reszta to obwód Voodoo.
CyberMen
3
Łał. Szkoda, że ​​w większości nie ma to znaczenia dla pytania.
Dave Tweed
3
Muszę powiedzieć, że była to bardzo zabawna lektura. Stopniowe przejście od pisarza do zabawy z pierwotnym pytaniem do niego, próbując wysadzić czytelnika w pamięć liczbami i słownictwem, a następnie zapewnić sobie pomoc, a następnie wspomnieć jego szkolne dni z odrobiną arogancji i wreszcie ruszyć się na klikniętym „jest tak skomplikowane, że nigdy nie mógłbym go tutaj streścić”. Absolutnie piękna.
Ponkadoodle,
I chociaż mój komentarz był w pewnym stopniu satyryczny, mam nadzieję, że beztrosko go podejmiesz. Szczerze lubiłem czytać.
Ponkadoodle,
2

Przegląd projektu procesora przez AMD

Wersja Intela

Żadne z nich nie zawiera zbyt wielu szczegółów, ale mimo to interesujące. Nie akceptuj tego jako odpowiedzi. Inni szczegółowo przeanalizowali twoje pytanie i włożyli więcej wysiłku w próbę udzielenia szczegółowej odpowiedzi.

rdivilbiss
źródło
Wcześniej widziałem tę stronę TomsHardware. Wyjaśnia jednak, w jaki sposób wytwarzane są procesory , a nie sposób ich zaprojektowania
stevenvh,