Actualización 2018: ¿Cuántos desarrolladores de software se necesitan para cambiar una bombilla? ¿¡A quien le importa!? ¡Eso es un problema de hardware!
En general NO, no necesita conocer la arquitectura de la computadora para ser un buen programador, eso es más en el ámbito de EEO de EEO .. a menos que esté en el desarrollo de sistemas integrados, pero en En ese caso, está casado con el chip y la programación directamente en él, por lo que deberá conocer la arquitectura de ESE "computadora" (e incluso entonces puede que no importe), pero tener un conocimiento arquitectónico general de cómo funcionan las computadoras. ser bueno para mucho más que las discusiones de pozos de agua.
Yo diría que es aún menos importante en estos días a la velocidad en que el hardware está disminuyendo en precio y el rendimiento está mejorando / aumentando y la rapidez con la que las tecnologías están cambiando y los idiomas están evolucionando. Las estructuras de datos y los patrones de diseño no tienen mucho que ver con la arquitectura del hardware físico, que yo sepa.
En general, los programadores provienen de un entorno informático, en cuyo caso, es más que probable que hayan tomado clases de arquitectura informática, pero hoy en día, los sistemas operativos se están volviendo virtuales, el espacio en disco es compartido, la memoria es escalable, etc. .. etc ..
He podido hacer una gran carrera en la programación (más de 10 años) y tengo muy poco conocimiento educativo de arquitectura de computadoras, principalmente porque ... ¡¡era un estudiante de arte !!
Actualización: Para ser justos, MI "poco conocimiento educativo" vino de mi CPU Sci. Menor. y aún así, nunca he necesitado usar nada de lo que aprendí de mis clases de ensamblaje o mis clases de arquitectura de computadoras en mi carrera de "Programación".
Incluso ahora cuando juego con algunas ideas de Mesh Networking Idea implementando la especificación de ZigBee , he encontrado que al usar los productos y herramientas disponible ( XBee ), puedo programar en Python y coloque el código en el chip (SoC) y haga algunas cosas realmente buenas con él. TODO sin tener que preocuparse por nada que tenga que ver con la arquitectura real de los chips, etc. ... definitivamente hay limitaciones de hardware para ser cognitivas debido al tamaño del chip y al objetivo de bajo precio previsto ... pero incluso ESO será menos en los próximos años. Por lo tanto, estoy a la altura de mi respuesta "Generalmente NO"