Etape în proiectarea de noi procesoare și GPU-uri de la Intel, AMD și NVIDIA

Etape în proiectarea de noi procesoare și GPU-uri de la Intel, AMD și NVIDIA

Totul în această viață urmează o metodologie, în special în vederea dezvoltării de noi produse. Care constă dintr-o serie de protocoale cu scopul de a atinge un rezultat clar în cel mai scurt timp precis. Proiectarea CPU-urilor nu este străină de acest lucru și de aceea vom descrie diferitele etape care sunt urmate atunci când proiectăm un Procesor.

Dacă luăm un procesor de acum câțiva ani și îl cumpărăm cu unul nou la prima vedere, vor arăta la fel, dar nu este cazul, complexitatea mai mare a design-urilor mai noi necesită ore de lucru mult mai lungi și odată cu acesta mai mult personal calificat. Cantitate. Este adevărat că fiecare nou nod de fabricație permite plasarea mai multor tranzistoare, dar acest lucru implică și mai multă muncă și având în vedere că timpii de dezvoltare nu sunt iertători, este necesar ca proiectarea noilor modele să urmeze o serie de etape ordonate.

Totul începe cu alegerea nodului de fabricație

Obleas Intel

Prima etapă nu este realizată de ingineri, ci este realizată de manageri, care negociază contracte de milioane de dolari cu diferitele turnătorii și fac diferitele previziuni cu privire la nivelul de producție și costuri.

Specificațiile și costurile nodului de fabricație vor determina arhitecților care va fi zona pe care o vor avea pentru a crea cipul, bugetul pentru numărul de tranzistoare și timpul de dezvoltare pe care îl au pentru a crea noile modele de CPU.

Următoarea este realizarea unui contur

Planul etajului

Planificarea pardoselilor nu este altceva decât o schemă în care indicăm elementele generale de bază care alcătuiesc un procesor pentru a le ordona într-un spațiu. Cu elemente generale nu vorbim despre punerea unui nucleu CPU aici, cache aici, GPU acolo etc.

Dar prin aceasta ne referim la elemente mult mai elementare, cum ar fi circuite combinaționale, cum ar fi un multiplexor, porți logice de diferite tipuri, ALU-uri, tampoane de memorie etc. Acest lucru se realizează datorită faptului că limbajele de descriere hardware necesită ca interconectarea dintre diferitele elementele trebuie specificate și, prin urmare, este esențial să luați un creion și o hârtie, o foaie imensă de hârtie pentru a interconecta diferitele elemente dintr-o schemă.

Prima diagramă creată nu este ultima, dar este utilizată pentru a organiza diferitele module ale unui CPU în două tipuri de blocuri:

  • Primele se numesc blocuri fixe, includ elementele care nu vor suferi variații de proiectare și vor rămâne statice în ceea ce privește aria lor, datorită faptului că natura lor o permite.
  • Pe de altă parte, blocurile versatile sunt părțile care vor fi schimbate, mai ales pentru că interacțiunea cu alte părți ale cipului necesită acest lucru sau pur și simplu pentru că nu știu încă ce proiect va fi implementat în versiunea finală.

Dacă există suficient spațiu în proiectarea Floorplanning a procesorului pentru a îmbunătăți unele elemente, acesta încearcă să integreze soluții mai avansate pentru acele părți, care sunt în curs de dezvoltare în paralel și pe care le vom vedea în secțiunea următoare.

A treia etapă de proiectare a unui procesor: definirea ISA

Etapas design procesador ISA

Următoarea etapă este definirea setului de registre și instrucțiuni care trebuie utilizate, în cazul CPU-urilor în care acestea sunt moștenite din generație în generație, implementarea poate părea ușoară, dar adăugarea de noi instrucțiuni și registre aduce cu sine reorganizarea a ceva care în sine este suficient de complex.

În GPU-uri este diferit, acestea nu rulează programe și fiecare nouă generație înseamnă să poți schimba natura ISA a unităților sale shader într-un mod mai versatil. Deci, dacă este necesar să ștergeți instrucțiunile, se poate face, dar într-un CPU nu este, să ștergeți o instrucțiune sau un registru înseamnă să rupeți compatibilitatea cu software-ul.

Părțile însărcinate cu prelucrarea datelor sunt de obicei de dimensiuni variabile în proiectarea oricărui tip de procesor și cele care ajung să treacă prin această etapă de proiectare. În schimb, elementele funcției fixe nu primesc aceste modificări.

A patra etapă de proiectare a unui procesor: testarea în FPGA

FPGA-3

Nu, nu am ajuns la etapa finală, dar este necesar să dovedim că designul este funcțional, în acest scop, plăcile FPGA sunt de obicei conectate între ele într-o matrice imensă. Fiecare dintre FPGA-uri a fost programat sau, mai degrabă, configurat să se comporte ca un element al designului general al procesorului sau GPU-ului pe care îl proiectăm.

Ideea de aici nu este să obțineți viteza maximă, ci să verificați cu încetinitorul dacă designul este funcțional. Deci, vom avea latențe mult mai mari și viteze mult mai mici decât procesorul final, dar ceea ce ne interesează este că toate elementele funcționează.

A cincea etapă de proiectare a unui procesor: I / O, alimentare și ceas

Proiectare CPU enrutado

A patra etapă constă deja din crearea cipului este crearea cipului final, dar ne găsim cu problema de intrare că trebuie să proiectăm distribuția energiei în circuit pe de o parte și pe de altă parte cea a semnalelor de ceas , dintre care unele vor fi derivate dintr-un ceas master care va fi subdivizat, iar altele vor avea propriul ceas.

Ceea ce faceți este să luați planul de etaj pe care l-am văzut în secțiunea anterioară și să îl înconjurați într-un pătrat sau dreptunghi împărțit în cadrane. În exteriorul cadranelor, i se atribuie o anumită funcție de energie sau I / O. Aici este proiectat perimetrul unui cip și este marcată plasarea diferitelor interfețe de comunicație cu periferice și memorie.

În acest stadiu se verifică, de asemenea, toată documentația privind distribuția energiei electrice dacă proiectarea diferitelor elemente permite atingerea vitezelor de ceas care se așteptau să fie atinse.

Verificarea procesorului

pas procesator test

După proiectare vine verificarea aceluiași. În care proiectul finit este validat de o echipă total diferită, care caută defectele de proiectare la nivelul fizic pe care îl poate avea. Cunoașterea echipei de validare este total diferită de cea a proiectului.

Motivul pentru aceasta este că ating ramuri foarte diferite, iar echipa de validare este mai concentrată pe detectarea și corectarea erorilor care apar în implementarea fizică a unui CPU și nu în arhitectura acestuia, care nu își schimbă originea. Un echivalent cu lumea construcțiilor ar fi cel al unui grup de muncitori și antreprenori care prototipează o casă sau o clădire și detectează erori care afectează performanța proiectului final și care nu sunt vizibile în simulare.