Ara que ja sabem com funcionen els processadors a un nivell alt, és hora de capbussar-se per comprendre com es dissenyen els components interns. Aquest article és la segona part de la nostra sèrie de disseny de processadors. Si encara no heu llegit el capítol 1, voldreu repassar primer aquest tema, en cas contrari, alguns dels conceptes aquí no tindran sentit.

Com probablement sabreu, els processadors i moltes altres tecnologies digitals es fabriquen a partir de transistors. La forma més senzilla de pensar en un transistor és amb un commutador controlable de tres pins. Es deixa circular l’electricitat pel transistor quan la porta està oberta. Quan la porta està tancada, el corrent no pot fluir. Igual que l’interruptor de llum de la paret, però molt més petit, molt més ràpid i controlable elèctricament.

Hi ha dos tipus principals de transistors utilitzats en processadors moderns: pMOS i nMOS. Un transistor nMOS permet que el corrent flueixi quan la porta es carrega o es posa alta, i el transistor pMOS permet que el corrent flueixi quan la porta està descarregada o baixa. Podem crear portes lògiques CMOS combinant aquest tipus de transistors de manera complementària. No entrarem en detalls audaços sobre com funcionen físicament els transistors en aquest article, però ho tractarem a la part 3 de la sèrie.

Una porta lògica és un dispositiu senzill que rep entrades, realitza algunes operacions i produeix un resultat. Per exemple, una porta AND activa la seva sortida i només si totes les entrades de l'entrada estan obertes. Un inversor o una porta NOT activa la seva sortida si l'entrada està tancada. Podem combinar aquestes dues entrades, però si cap de les entrades està oberta i només és una NAND que obre la seva sortida o no -i la porta. Hi ha altres portes amb diferents funcions lògiques com OR, NOR, XOR i XNOR.

A continuació podem veure com es van dissenyar dues portes bàsiques a partir de transistors: un inversor i una porta NAND. L'inversor té un transistor pMOS connectat a la línia elèctrica a la part superior i un transistor nMOS connectat a terra a la part inferior. Els transistors PMOST es dibuixen amb un petit cercle que es connecta a les seves portes. Com que diem que els dispositius PMOS funcionen amb l'entrada desactivada i els dispositius nMOS amb entrada activada, és fàcil veure que el senyal a Out sempre serà el contrari del senyal a In. Mirant la porta NAND, veiem que requereix quatre transistors i la sortida estarà activada sempre que almenys una de les entrades estigui tancada. Connectar transistors per crear xarxes simples com aquesta és el mateix procés que s’utilitza per dissenyar altres circuits dins de processadors i portes lògiques més avançades.







Amb els blocs de construcció tan senzills com les portes lògiques, pot ser difícil veure com es poden transformar en un ordinador en funcionament. Aquest procés de disseny consisteix a combinar diverses portes per crear un petit dispositiu que pugui realitzar una funció senzilla. A continuació, podeu connectar la majoria d’aquests dispositius per crear alguna cosa que faci una funció una mica més avançada. El procés de combinar components individuals per crear un disseny de treball és el que s’utilitza actualment per crear xips moderns. L’única diferència és que és un xip modern milers de milions transistörlerin.

Com a exemple ràpid, veurem un sumador bàsic de 1 bit complet. Pren tres entrades: A, B i Carry-In, i produeix dues sortides: Sum i Carry-Out. El disseny bàsic utilitza cinc portes lògiques i es pot enllaçar entre si per crear qualsevol sumador de mida. Els dissenys moderns ho milloren optimitzant alguns senyals lògics i de transport, però els conceptes bàsics segueixen sent els mateixos.




La sortida total està activada si A o B està activada però no les dues, o si hi ha un senyal de transport i A i B estan activades o ambdues apagades. La realització és una mica més complicada. Actiu quan A i B estan oberts al mateix temps o quan hi ha transport i A o B està obert. Per connectar diversos sumadors d'1 bit per crear-ne un de més gran, només cal que enllaceu l'execució del bit anterior amb la transferència del bit actual. Com més complexos són els circuits, més complexa és la lògica, però aquesta és la forma més senzilla d'afegir dos nombres. Els processadors moderns utilitzen col·lectors més complexos, però aquests dissenys són massa complexos per obtenir una visió general. A més dels sumadors, els processadors també contenen unitats per a la divisió, multiplicació i versions en coma flotant de totes aquestes operacions.




Combinant aquesta sèrie de portes per realitzar algunes funcions a les entrades, Lògica combinacional. Aquest tipus de lògica no és l’única cosa que es troba als ordinadors. No seria molt útil si no poguéssim emmagatzemar dades o fer un seguiment de l’estat de qualsevol cosa. Per fer-ho, necessitem una lògica seqüencial capaç d’emmagatzemar dades.




La lògica seqüencial es crea connectant acuradament inversors i altres portes lògiques per retornar les sortides a l'entrada de les portes. Aquests bucles de retroalimentació s’utilitzen per emmagatzemar una mica de dades i RAM estàtica o SRAM. Es denomina RAM estàtica a diferència de la dinàmica de DRAM, ja que les dades emmagatzemades sempre estan connectades directament a tensió positiva o a terra.

Una forma estàndard d'implementar un sol bit SRAM és amb els 6 transistors que es mostren a continuació. Senyal superior marcat amb WL Línia de paraulesés l'adreça i, quan s'activa, les dades emmagatzemades en aquesta cel·la d'1 bit Línia de bitsMarcat com a BL. La sortida BLB es coneix com: Barra de línies de bits, és simplement el valor invertit de la línia de bits. Hauríeu de ser capaços de reconèixer els dos tipus de transistors i M3 i M1 juntament amb M4 i M2 formen un inversor.




SRAM s'utilitza per crear memòries cau i registres súper ràpids dins dels processadors. És molt estable, però requereix de sis a vuit transistors per emmagatzemar cada bit de dades. Això fa que la producció sigui extremadament cara en termes de cost, complexitat i espai als xips en comparació amb DRAM. La RAM dinàmica, d'altra banda, emmagatzema les dades en un condensador petit en lloc d'utilitzar portes lògiques. Es diu dinàmic perquè el voltatge del condensador pot canviar dinàmicament ja que no depèn de la potència ni de la terra. Només s’utilitza un transistor per accedir a les dades emmagatzemades al condensador.

Com que el DRAM només requereix un transistor únic per bit i el disseny és molt escalable, es pot empaquetar de forma densa i econòmica. Un desavantatge del DRAM és que la càrrega del condensador és tan petita que s’ha de renovar constantment. Per això, quan apagueu l’ordinador, es perden tots els condensadors i es perden les dades de la memòria RAM.

Certament, empreses com Intel, AMD i Nvidia no publiquen diagrames de funcionament dels seus processadors, de manera que és impossible mostrar diagrames tan complets per a un processador modern. Tanmateix, aquest simple sumador hauria de donar una bona idea de com fins i tot les parts més complexes d’un processador es poden dividir en portes lògiques, elements d’emmagatzematge i, a continuació, transistors.

Ara que ja sabem com es construeixen alguns components d’un processador, hem d’esbrinar com connectar-ho i sincronitzar-ho tot. Tots els components importants del processador un senyal de rellotge. Això és entre alt i baix, Freqüència. La lògica del processador sovint canvia de valors i fa càlculs quan el rellotge és de menor a major. Si ho sincronitzem tot, podem assegurar-nos que les dades sempre arriben al moment adequat per evitar qualsevol mal funcionament del processador.

Potser heu sentit a dir que podeu augmentar el rellotge a un processador conegut com a overclocking per millorar el seu rendiment. Aquest guany de rendiment resulta del canvi de transistors i lògica en un processador més ràpid del que es va dissenyar. Com que hi ha més cicles per segon, es pot fer més feina i el processador tindrà un rendiment superior. Això és cert fins a un punt. Els processadors moderns solen funcionar entre 3,0 GHz i 4,5 GHz i apareixen sense canvis durant la darrera dècada. Igual que una cadena metàl·lica és tan forta com la seva baula més feble, un processador només pot funcionar tan ràpid com la part més lenta. Al final de cada cicle de rellotge, cada component d’un processador hauria d’haver acabat d’executar-se. Si encara no s’han fet peces, el rellotge és molt ràpid i el processador no funcionarà. Els dissenyadors són la part més lenta en això Ruta crítica i estableix la freqüència màxima a la qual pot funcionar un processador. Per sobre d’una freqüència determinada, els transistors no poden canviar prou ràpidament i començar a fallar o produir falses sortides.

En augmentar la tensió d'alimentació a un processador, podem accelerar la commutació dels transistors, però això només funciona fins a un punt determinat. Si apliquem massa tensió, hi ha el risc de cremar el processador. Quan augmentem la freqüència o la tensió d’un processador, sempre genera més calor i consumeix més energia. Això es deu al fet que la potència del processador és directament proporcional a la freqüència i proporcional al quadrat de la tensió. Per determinar el consum d'energia d'un processador, normalment pensem en cada transistor com un petit condensador que cal carregar o descarregar quan canvia de valor.

El subministrament d’energia és una part essencial d’un processador i, en alguns casos, la meitat dels pins físics d’un xip pot ser només alimentació o connexió a terra. Alguns xips poden treure més de 150 amperes a plena càrrega, i tot aquest corrent s’ha de gestionar amb la màxima cura. Per posar aquesta quantitat d'energia en perspectiva, la CPU genera més calor per unitat d'àrea que un reactor nuclear.

El rellotge dels processadors moderns representa aproximadament el 30-40% de la seva potència total perquè és molt complex i necessita utilitzar dispositius molt diferents. Per estalviar energia, la majoria de dissenys de baix consum apagaran parts del xip quan no s’utilitzen. Això es pot fer apagant el rellotge conegut com a porta del rellotge o apagant l’energia coneguda com a porta d’alimentació.

Els rellotges plantegen un altre repte per dissenyar un processador, ja que a mesura que augmenta la seva freqüència, les lleis de la física comencen a dificultar-se. Tot i que la velocitat de la llum és extremadament ràpida, no és prou ràpida per als processadors d’alt rendiment. Si connectéssiu el rellotge a un extrem del xip, quan el senyal arribés a l’altre extrem, no quedaria sincronitzat significativament. Per mantenir totes les parts del xip en el temps, el rellotge es distribueix utilitzant el que s’anomena l’arbre H. Aquesta és una estructura que garanteix que tots els punts finals estiguin exactament a la mateixa distància del centre.

Dissenyar cada transistor, senyal de rellotge i connexió d'alimentació en un xip pot semblar extremadament tediós i complex, i això sens dubte serà cert. Tot i que empreses com Intel, Qualcomm i AMD compten amb milers d’enginyers, no seria possible dissenyar manualment tots els aspectes d’un xip. Per muntar els xips a tal escala, utilitzen diverses eines avançades per crear dissenys i esquemes per a ells. Aquestes eines solen obtenir un alt nivell d’explicació del que ha de fer el component i determinar la configuració de maquinari més adequada per complir aquests requisits. Recentment, Síntesi d’alt nivell Això permet als desenvolupadors especificar la funcionalitat que volen al codi i després deixar que els equips esbrinin com treure el màxim profit del maquinari.

De la mateixa manera que podeu descriure programes d'ordinador amb codi, els dissenyadors poden descriure maquinari mitjançant el codi. Llenguatges com Verilog i VHDL permeten als dissenyadors de maquinari expressar la funcionalitat dels circuits que fabriquen. La simulació i la verificació es fan en aquests dissenys i, si tot passa, es poden sintetitzar en transistors específics que formaran el circuit. Tot i que la validació pot no semblar tan cridanera com dissenyar una memòria cau o un nucli nou, és molt més important. Per a cada enginyer de disseny que utilitza una empresa, hi pot haver cinc o més enginyers de verificació.

Verificar un nou disseny requereix molt més temps i diners que crear el xip real. Les empreses gasten molt de temps i diners en la verificació perquè un cop un xip entra en producció no hi ha manera de solucionar-ho. Només podeu fer un pedaç amb el programari, però el maquinari no funcionarà així. Per exemple, Intel error a la secció de coma flotant Alguns xips Pentium i avui costen 2.000 milions de dòlars.

Pot ser difícil entendre com un xip pot tenir diversos milions de transistors i què fan tots. Quan es divideix el xip en els components interns, es fa una mica més fàcil. Els transistors fabriquen portes lògiques, les portes lògiques es combinen en unitats funcionals que realitzen una tasca específica i aquestes unitats funcionals s’uneixen entre elles per formar l’arquitectura d’ordinadors de què hem parlat al capítol 1.

La major part del treball de disseny està automatitzat, però això us ha de donar una nova apreciació de la complexitat de la nova CPU que compreu.

Aquest segon capítol de la nostra sèrie va tractar el procés de disseny de la CPU. Vam parlar de transistors, portes lògiques, subministrament de potència i rellotge, síntesi de disseny i validació. Al capítol 3 veurem què es requereix per crear físicament un xip. A totes les empreses els agrada presumir de l’avançat dels seus processos de fabricació (Intel 10 nm, Apple i AMD 7 nm, etc.), però què signifiquen en realitat aquestes xifres? Segueix mirant-nos.

Lectures suggerides:

Crèdit masthead: Processament de codi futurista de la placa de circuits per Kirill Savenko