¿Por qué el diseño de CS / software es mucho más popular que el diseño de CPU / circuito integrado?

  1. Como menciona la respuesta de Dennis Ferguson, el mercado de semiconductores se está consolidando, debido a los costos, y muy pocas compañías construyen sus propios procesadores ahora. Hice estudios de pregrado y posgrado en esa área, y más del 80% de mis compañeros no académicos orientados a HW en los EE. UU. Ahora están en cuatro empresas (Intel, NVIDIA, AMD, Apple). La reducción de las industrias generalmente no es atractiva para el empleo.
  2. La gente no se está convirtiendo en multimillonarios sin hardware en estos días: no llama la atención.
  3. La educación requerida para trabajar en las áreas de hardware probablemente se encuentre en el nivel de posgrado en este momento, por lo que la barrera de entrada es alta. Si quieres estar a cargo del diseño del procesador, necesitas un doctorado en estos días. La longitud de ese camino no es atractiva para muchas personas.
  4. La barra de rendimiento del producto es alta. Si tiene un nuevo diseño de hardware y el rendimiento no es tan bueno como algo que ya existe, ¿cuál es el punto de hacerlo? Por lo tanto, se requiere una enorme cantidad de trabajo para hacer que los circuitos sean incrementalmente más rápidos.

Una corrección a los detalles de la pregunta original: los dos campos en realidad no están muy relacionados. Requieren diferentes idiomas y diferentes conjuntos de habilidades. Desde el lado del hardware al software, una persona es principalmente adecuada para análisis de rendimiento de bajo nivel, compiladores, controladores, ingeniería de sistemas y EDA (lo que hago).

Por varias razones:

1 – Es más fácil entrar y aumentar la velocidad (no en el sentido del rendimiento del tiempo de ejecución, porque eso no es cierto: p). No necesita herramientas sofisticadas, y comenzar a practicar no cuesta tanto. Intenta pegar un chip. Entenderás lo que quiero decir.

Incluso hacer verilog en FPGA es un poco doloroso. Hay demasiados detalles de los que preocuparse además de la corrección algorítmica. El software simplemente elimina gran parte del dolor de cabeza.

2 – Gana más dinero.

3 – Está más cerca del usuario, por lo que está más orientado a la aplicación. Esta es la misma razón por la cual la ingeniería es más popular que las matemáticas puras, pero un nivel más abajo.

4 – Oferta y demanda. Hay mucha más demanda, por lo que la popularidad es solo para que la oferta esté a la par con la demanda. Un chip alimenta una tonelada de software (todo lo cual necesita ser escrito). Cuanto más se acerque al usuario, mayor será la demanda de dicho talento. Chip -> lenguaje ensamblador / drivers -> lenguajes de bajo nivel (c) -> etc etc -> javascript:

(encontré esa trama en línea)

En conjunto, el rendimiento normalizado de riesgo por unidad de esfuerzo es sustancialmente mayor para el software que cualquier otro campo.

Personalmente, encuentro este hecho un poco inquietante porque insinúa un poco la idea de que nosotros (como un todo) valoramos $ más que el intelecto.

Este es realmente un buen punto, ya que utilizando una lógica programable avanzada es posible implementar en hardware cosas que normalmente se implementan en software. Con un bajo costo y un aumento significativo en el rendimiento, mayor seguridad y protección del mercado.

Supongo que la razón principal es que el hardware necesita un esfuerzo inicial mucho mayor y, además, necesita un recurso como un laboratorio que no es algo que todos tengan.

Sin embargo, supongo que esta situación podría cambiar en el futuro: piense en Arduino o Raspberry. Ambas placas llevan la piratería de hardware a todos o casi todos. Podría ser que en el futuro cercano, con el gran desarrollo de IoT, esta situación pueda cambiar y el hardware programable llegue a todos de manera Arduino.

He estado diseñando dispositivos de hardware durante años y tuve la oportunidad de usar una lógica programable muy pequeña, pero con las densidades disponibles ahora, se podrían implementar cosas mucho mejores.

Es obvio que se está escribiendo mucho más software que las CPU que se están diseñando, por lo tanto, hay más interés en el primero. Salí del hardware en 1990, aunque me encantó, porque había más oportunidades disponibles en el software. Mi experiencia de diseño de CPU es de 1 bit en un registro VLIW de 64 bits después de 3 meses de trabajo.

Esto es una conjetura (ya que realmente necesitaría realizar algún tipo de encuesta para obtener una respuesta autorizada), pero sospecho que se debe en gran medida a lo que puede hacer con la información que obtiene de las discusiones. En resumen, no muchas personas tienen acceso a un chip fab, pero casi cualquier persona tiene (o podría tener) acceso a un compilador.

More Interesting

¿Cuán realistas son las opiniones de Sam Altman sobre la inteligencia artificial sobrehumana como una amenaza?

¿Existen instituciones financieras que realizan una integración continua o incluso una entrega continua?

¿Cuál es la mejor oportunidad profesional, Java o .NET?

¿Cuál es la arquitectura de los motores de conversación detrás de Siri y Cortana?

¿Cuál es el primer paso de una función de desarrollador de software en una empresa de tecnología mediana / grande a una función ejecutiva en una empresa exitosa?

Soy un desarrollador PHP / desarrollador web. ¿Necesito aprender sobre estructuras de datos y algoritmos?

¿Adoptar una metodología llamada 'Ágil' como Scrum (y tal vez contratar entrenadores) proporcionará más beneficios que el desarrollo incremental simple, con una cola priorizada dinámicamente, compilaciones frecuentes e interacción completa con el cliente? En otras palabras, ¿se ha sobrevendido todo el 'asunto ágil' cuando las prácticas adaptativas de antaño funcionan bien?

¿Cuáles serían los requisitos de software para desarrollar un software de cubo de rubik?

¿Cómo se puede aprender ingeniería de software desde no saber nada hasta ser un profesional en línea?

¿Cuáles son algunos consejos para un probador manual con poco interés en la codificación que ha estado atrapado en este trabajo durante los últimos 3 años?

¿Dónde trabajan los ingenieros de software promedio?

¿Vale la pena la maestría en administración de software en Carnegie Mellon?

¿Cuál es la mejor pila de aplicaciones web, MEAN o LAMP?

¿Existe una correlación entre los diseñadores de software / juegos y los científicos sociales?

¿Cuál es la arquitectura de Spotify?