¿Cuáles son algunas técnicas modernas (pasadas o en curso) para aumentar la velocidad de la computadora a nivel de chip (en términos de arquitectura y diseño), pasadas o en curso?

Procesadores de conjuntos de instrucciones específicos de la aplicación (ASIP)

  1. Realice particiones de hardware / software para un algoritmo que desee implementar, como un algoritmo para análisis financiero o visión por computadora.
  2. Realice una síntesis de alto nivel (seguida del flujo de diseño RTL a físico estándar) en la partición de hardware
  3. Compile la partición de software y analice el gráfico de control y flujo de datos para el código compilado a nivel de ensamblado. Combine las instrucciones de ensamblaje intersectadas por el corte convexo y reemplácelas con una instrucción compleja única (vea arquitecturas informáticas CISC); Esta es la síntesis del conjunto de instrucciones.
  4. Modifique la arquitectura del procesador en la que se ejecutaría el software, porque ha modificado / extendido la ISA (arquitectura del conjunto de instrucciones) en el Paso 3. Esto aceleraría la ejecución del software, ya que una instrucción compleja se ejecutaría en el reloj X ciclos en lugar de varias instrucciones simples en ciclos de reloj Y (donde X <Y).
  5. Itere hasta que se obtenga una partición de hardware / software deseable para su compensación de diseño deseada entre sus objetivos y limitaciones de diseño.

ASIP puede dar como resultado un cálculo de particionamiento entre el hardware optimizado específico de la aplicación y el software optimizado (que va más allá de la optimización del compilador) que se ejecuta en un procesador extendido. Esta es la mejor metodología de codiseño de hardware / software que conozco … La optimización de la arquitectura del procesador y su implementación VLSI sin tener en cuenta cómo se vería afectado el desarrollo del software no garantiza un rendimiento computacional óptimo para ejecutar un algoritmo / aplicación en particular.

Computación aproximada. En lugar de calcular una operación aritmética por completo, especialmente para la multiplicación y división, aproximar el resultado para que se pueda mejorar el rendimiento (se aproximan ciertos pasos en el cálculo) y se puede reducir el consumo de energía (menor cantidad de pasos computacionales).

Este es un tema enorme. Una de las áreas más interesantes es la computación paralela masiva utilizando unidades de procesamiento de gráficos en lugar de unidades de procesamiento central. Muchas de las supercomputadoras más rápidas están utilizando esta técnica para lograr un rendimiento y una eficiencia energética que simplemente no se pueden obtener con CPU.

Mire la plataforma de Arquitectura de dispositivos unificados (CUDA) de NVIDIA como el ejemplo principal:

Un enfoque clave en el diseño de CPU recientemente no necesariamente los hace más rápidos, sino que los hace más eficientes energéticamente. Esto es importante ya que el suministro de energía y el enfriamiento de los chips se ha convertido en un cuello de botella para aumentar el rendimiento general. Hay varias maneras de hacer esto y se están investigando más.

Técnicas fundamentales Hmm … En mi opinión, esto implica algo más que diseños basados ​​en CMOS, que no se pueden acelerar mucho más. (CMOS usa demasiada energía y genera demasiado calor para aumentar aún más el reloj, que fue de donde provino el 90% de las ganancias de rendimiento de la CPU).

Una posibilidad es la computación óptica, donde los pestillos se implementan utilizando luz en lugar de carga. Si tuviera que apostar por un sustrato previsible en los próximos 30 años, probablemente sería este.

Otro enfoque es la computación cuántica o la computación de ADN. Pero es probable que las máquinas basadas en estos se limiten solo a usos especializados y no a fines generales. Lo mismo vale para las GPU o la computación paralela. Ay. Porque son todo lo que está en el radar durante los próximos 10-15 años, AFAIK.

John Stokes, de Arstechnica, publicó un artículo hace un año sobre cómo ha habido pocas revisiones de la nueva arquitectura de CPU en su sitio desde hace un tiempo. Esencialmente, la fruta baja en el diseño de chips ha sido arrancada. Mientras que los primeros días de las CPU trajeron grandes cambios cada año más o menos y los años 90 y principios de los años 2000 vieron la batalla entre los RISC powerpcs e Intel, hoy no sucede mucho. RISC perdió cuando Apple fue a Intel, y dado que AMD se está enfocando en sus APU, ya no hay una guerra de arquitectura intensa. La sacudida arquitectónica más significativa fue la excavadora de AMD, que realmente ha fracasado en comparación con Sandy Bridge. Incluso Intel no ha realizado un cambio importante en la arquitectura de núcleo profundo desde 2006.

Más concretamente, las grandes innovaciones actuales son la eficiencia energética y el procesamiento paralelo. Es cada vez más difícil aumentar el rendimiento por núcleo sin un aumento en la velocidad del reloj en estos días, por lo que en su lugar nos centramos en procesar más elementos a la vez.