¿Dónde está el límite de software / hardware en los sistemas informáticos modernos?

-7

Las computadoras están programadas en (y controladas por) software. Ese software a menudo es ejecutado por otro software (por ejemplo, Java compilado en bytecode, ejecutado por un Java VM codificado en las instrucciones de la máquina), que a su vez es ejecutado por un software más profundo (microcódigo de la CPU, implementando las instrucciones de la máquina). El hardware que ejecuta el microcódigo puede no ser el 'código' en sí, pero puede ser 'creado' a partir del código VHDL. ¿Dónde termina esto, dónde comienza el hardware "real"? Obviamente, ¿no se puede codificar todo el camino hasta los átomos que forman los transistores?

    

3 respuestas

2

Creo que entiendo la pregunta. Tuve esta misma pregunta una vez. Mi código se ejecuta dentro de la CPU, pero ¿con qué se ejecuta? Respuesta: 'microcódigo'. OK, pero que corre el microcódigo? ¿Y qué corre eso? ¿Y qué corre eso? ¿Dónde se detiene?

Los átomos se convierten en compuestos con diferentes propiedades eléctricas.

Estos compuestos se convierten en transistores que actúan como un interruptor.

Los transistores se convierten en puertas (Nand, And, Not, Or, Nor, Xor, Etc.) Se conocen como circuitos combinatorios, porque combinan entradas en una salida.

Las puertas se convierten en lógica secuencial, como Flip Flops, Latches, adders, Etc.

Estos se convierten en los componentes básicos que se encuentran dentro de una computadora, ALU, registros, etc.

Puede encontrar una muy buena descripción de todo esto en Arquitecturas de computadoras - Circuitos digitales .

(Alguien más se siente libre de mejorar mi respuesta. Se desvaneció porque ahí es donde termina mi conocimiento).

    
respondido por el Rocketmagnet
1
  

El hardware que ejecuta el microcódigo puede no ser el 'código' en sí mismo, pero puede ser 'creado' a partir del código VHDL.

Bueno, una CPU "estándar" (Intel / AMD, etc.) no es una FPGA (que ejecutaría VHDL / Verilog), sino que es hardware.

Por lo tanto, el "nivel" inmediato debajo del microcódigo es el hardware.

Técnicamente, un Intel (por ejemplo) cpu puede ser microprogramado, pero prácticamente, solo si trabajas para Intel (o tienes mucho tiempo en tus manos para averiguar su microcódigo encriptado).

Entonces, el software realmente comienza (para un usuario final), a nivel de ensamblador (ya, puedes usar un depurador y "meter" números hexadecimales, pero básicamente es lo mismo que ensamblador )

    
respondido por el mstram
0

Bueno, el siguiente paso después de los transistores son las puertas lógicas. Puede hacer una simple compuerta NOR de dos transistores, una compuerta NO de un transistor. Luego combina puertas para hacer cosas básicas como sumadores y contadores que combina a un procesador que puede ejecutar comandos. Pero es una manera muy larga hasta que te conectas a través de USB.

En lo que respecta a la programación, lo más cercano que puede obtener es FPGA: es un chip con millones de compuertas lógicas básicas que se pueden combinar de diferentes maneras para obtener cualquier funcionalidad que necesite, como una computadora completa. p>     

respondido por el miceuz

Lea otras preguntas en las etiquetas