Permítanme simplificar y ampliar mis comentarios anteriores y conectar los puntos para aquellos que parecen necesitarlo.
¿Se sigue diseñando a nivel de (sub)puerta lógica?
El diseño se realiza a muchos niveles, el el nivel sublógico es siempre diferente . Cada contracción de fabricación exige la más brillante experiencia en física, química y procesos litográficos, ya que la estructura de un transistor cambia y la geometría también cambia para compensar las compensaciones, ya que se reduce hasta niveles atómicos y coste ~millones de dólares cada paso binario hacia abajo en tamaño. Alcanzar una geometría de 14 nm supone una ingente labor de I+D, control y gestión de procesos, ¡y eso es quedarse corto!
Por ejemplo, las competencias laborales necesarias para ello incluyen; - Diseños personalizados a nivel de FET, celda y bloque, planos de planta a nivel de FUB, generación de vistas abstractas, extracción de RC y verificación y depuración de esquemático a plano utilizando fases de desarrollo de diseño físico, incluida la extracción de parásitos, temporización estática, modelos de carga de cables, generación de relojes, edición de polígonos personalizados, algoritmos de autocolocación y enrutamiento, planificación de planta, ensamblaje de chip completo, empaquetado y verificación".
- ¿ya no hay mucha innovación en ese ámbito? - INCORRECTO - La innovación en el campo de la física de semiconductores es considerable y está muy bien financiada. A juzgar por la Ley de Moore y el número de patentes, nunca se detendrá.
- ¿hemos pasado a un nivel superior de abstracción? - Nunca dejó de moverse. - Con la demanda de más núcleos, que hagan más en una sola instrucción como las CPU ARM RISC, µC o MCU integradas más potentes, RAM inteligente con DDR4 que tiene ECC por defecto y sectores como flash con bits de prioridad para las consultas urgentes de memoria. - La evolución de las CPU y los cambios arquitectónicos nunca se detendrán.
Déjame darte una pista. Haz una búsqueda de empleo en Intel, AMD, TI o AD para ingenieros y mira las descripciones de los puestos.
- ¿De dónde proceden los diseños de los miles de millones de transistores? - Se trataba de añadir más bloques de hardware de 64 bits. pero ahora que los nanotubos fallan, la forma de pensar tiene que cambiar del enfoque descendente de los bloques al enfoque ascendente de los nanotubos. nanotubos para hacerlo funcionar.
-
¿Son en su mayoría autogenerados por software? con la lengua bien plantada en la mejilla...
-
En realidad, todavía están extrayendo diseños de Area51 de naves espaciales y tienen un camino que recorrer .... hasta que seamos totalmente compatibles con los nanotubos. Un ingeniero entra en la biblioteca y dice nVidia nos gustaría que se uniera a nosotros aquí en este chip y se convierte en una parte, que entra en un macrobloque . El diseño puede reproducirse como las hormigas en Toystory pero el control explícito sobre todas las conexiones debe ser manualmente enrutado / comprobado a cabo, así como el uso de DRC y auto-enrutamiento para la comparación. Sí Las herramientas de automatización se actualizan constantemente para eliminar duplicidades y pérdidas de tiempo.
- ¿sigue habiendo mucha optimización manual?
-
Teniendo en cuenta que una aerolínea ahorró dinero suficiente para pagar su sueldo eliminando sólo 1 aceituna de la cena en Primera Clase, Intel buscará la forma de eliminar tantos átomos como sea posible dentro del plazo previsto. Cualquier exceso de capacitancia significa calor desperdiciado, rendimiento y oops también más ruido, no tan rápido...
Pero en realidad las CPU crecen como Tokio, no de la noche a la mañana, pero decenas de millones viven allí ahora con una mejora constante. No aprendí a diseñar en la universidad, pero leyendo y tratando de entender cómo funcionan las cosas, pude ponerme al día en la industria bastante rápido. Obtuve 10 años de experiencia en mis primeros 5 años en el sector aeroespacial, diseño de instrumentos nucleares, diseño de SCADA, monitorización de procesos, diseño de antenas, diseño y depuración de estaciones meteorológicas automatizadas, OCXO's PLL's VLF Rx's, control remoto bidireccional de cohetes Black Brandt... y eso fue sólo mi primer trabajo. No tenía ni idea de lo que podía hacer.
No te preocupes por miles de millones de transistores ni tengas miedo de lo que tienes que aprender o de cuánto necesitas saber. Limítate a seguir tu pasión y a leer revistas especializadas entre sueño y sueño; entonces no te verás tan verde en el trabajo y ya no te parecerá trabajo.
Recuerdo que una vez tuve que diseñar un Op Amp 741 "parecido" como parte de un examen, en 20 minutos. Nunca lo he usado realmente, pero puedo reconocer lo bueno de los grandes diseños. Pero entonces sólo tenía 20 transistores.
Pero la forma de diseñar una CPU debe empezar por una especificación, a saber; ¿Por qué el diseño de una CPU y hacer puntos de referencia mensurables para lograr tales como; - Macroinstrucciones por segundo (MIPS) (más importante que el reloj de la CPU),por ejemplo; - El chip Itanium de Intel se basa en lo que ellos denominan diseño EPIC (Explicitly Parallel Instruction Computing). - Diseño de CPU patentado por Transmeta con microprocesadores de morphing de código de palabra de instrucción muy larga (VLIWCMM). Demandaron a Intel en 2006, cerraron el negocio y llegaron a un acuerdo por unos 200 millones de dólares en 2007. - Rendimiento por vatio (PPW) , cuando los costes de energía > coste del chip (para servidores). - Ops por segundo (FLOPS) para el rendimiento matemático.
Hay muchas más métricas, pero nunca bases la calidad del diseño de una CPU en su velocidad de GHz (ver mito)
¿Qué herramientas se necesitan para diseñar CPU? La lista no cabría en esta página, desde el diseño físico a nivel atómico hasta el diseño físico EM/RF de malla dinámica, pasando por el ingeniero de pruebas de verificación de diseño front-end, para el que se requieren habilidades como; - Simulación RTL Front-end - Conocimientos de IA y arquitectura informática y diseño a nivel de sistema - Verificación lógica y simulación lógica utilizando VHDL o Verilog. - Programación orientada a objetos y diversos protocolos de CPU, bus/interconexión y coherencia.