# Disseny de processadors

El disseny de processadors és un subcamp de l'enginyeria informàtica i l'enginyeria electrònica (fabricació) que s'ocupa de la creació d'un processador, un component clau del maquinari informàtic.
El procés de disseny implica triar un conjunt d'instruccions i un determinat paradigma d'execució (per exemple VLIW o RISC) i dona lloc a una microarquitectura, que es podria descriure a p VHDL o Verilog. Per al disseny de microprocessadors, aquesta descripció es fabrica després emprant alguns dels diferents processos de fabricació de dispositius semiconductors, donant com a resultat una matriu que s'uneix a un suport de xip. A continuació, aquest suport de xip es solda o s'insereix en un sòcol d'una placa de circuit imprès (PCB).
El mode de funcionament de qualsevol processador és l'execució de llistes d'instruccions. Les instruccions solen incloure aquelles per calcular o manipular valors de dades mitjançant registres, canviar o recuperar valors a la memòria de lectura/escriptura, realitzar proves relacionals entre valors de dades i controlar el flux del programa.
Els dissenys de processadors solen ser provats i validats en una o diverses FPGA abans d'enviar el disseny del processador a una foneria per a la fabricació de semiconductors.
Els tipus de dispositiu utilitzats per implementar la lògica inclouen:
* Xips lògics d'integració a petita escala de lògica transistor-transistor : ja no s'utilitzen per a les CPU.
* Lògica de matriu programable i dispositius lògics programables : ja no s'utilitzen per a les CPU.
* Matrius de portes de lògica acoblada a emissors (ECL), ja no són habituals.
* Circuits integrats produïts en massa CMOS : la gran majoria de CPU per volum.
* CMOS ASIC : només per a una minoria d'aplicacions especials a causa de la despesa.
* Arrays de portes programables en camp (FPGA): comuns per als microprocessadors suaus i més o menys necessaris per a la informàtica reconfigurable.
Un projecte de disseny de CPU generalment té aquestes tasques principals:
* Arquitectura de conjunt d'instruccions visible per al programador, que pot ser implementada per una varietat de microarquitectures.
* Estudi arquitectònic i modelització de rendiment en ANSI C / C++ o SystemC.
* Implementació de síntesi d'alt nivell (HLS) o de transferència de registre (RTL, p. ex. lògica).
* Verificació RTL.
* Disseny de circuits de components crítics de velocitat (cachés, registres, ALU).
* Síntesi lògica o disseny a nivell de porta lògica.
* Anàlisi de temps per confirmar que tota la lògica i els circuits funcionaran a la freqüència de funcionament especificada.
* Disseny físic que inclou la planta, el lloc i la ruta de les portes lògiques.
* Comprovació que les representacions RTL, a nivell de porta, a nivell de transistor i a nivell físic siguin equivalents.
* Comprova la integritat del senyal i la fabricabilitat del xip.

## Referències

* ↑ «How CPUs are Designed and Built» (en anglès). https://www.techspot.com.+[Consulta: 21 març 2023].
* ↑ «What are the skills and tools you need to design and implement your own processor?» (en anglès). https://www.linkedin.com.+[Consulta: 21 març 2023].
* ↑ Sims, Margaret. «How To Design A Processor?» (en anglès). https://www.ctesolutions.com,+01-01-2022.+[Consulta: 21 març 2023].
* ↑ Cutress, Ian. «Xilinx Announces World Largest FPGA: Virtex Ultrascale+ VU19P with 9m Cells» (en anglès). AnandTech, August 27, 2019.
* ↑ «EE-739: Processor Design» (en anglès). https://www.ee.iitb.ac.in.+[Consulta: 21 març 2023].