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.[1]
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).[2]
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.[3]
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.[4]
Els tipus de dispositiu utilitzats per implementar la lògica inclouen: [5]
- 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.
- Matrius de portes CMOS : ja no s'utilitzen per a les CPU.
- 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
[modifica]- ↑ «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, 27-08-2019.
- ↑ «EE-739: Processor Design» (en anglès). https://www.ee.iitb.ac.in.+[Consulta: 21 març 2023].