¿Cómo se traducen las instrucciones de ensamblaje de alto nivel en comportamientos de puerta lógica de bajo nivel? [cerrado]

1

(Perdóneme si este no es el mejor lugar para esa pregunta. Busqué un poco, pero no encontré un lugar mejor.)

Aprendí el lenguaje de ensamblaje y el diseño de circuitos digitales básicos en la universidad. Pero después de tantos años de codificación con varios idiomas, creo que todavía me falta el conocimiento crítico in the middle of esas 2 partes:

  

¿Cómo se traduce la instrucción de ensamblaje de alto nivel a bajo nivel?   comportamientos de puerta lógica?

AFAIK, el nivel más bajo de una computadora es varios logical gates . Para una instrucción en lenguaje ensamblador como movl 10, eax , sé que un ensamblador lo traducirá en una secuencia de 1 / 0s. Pero, ¿cómo se traduce eso en actions of logical gates ? Y he oído que hay un llamado microcódigo para los procesadores. ¿Cómo se relaciona eso?

AGREGAR 1

Gracias a EugeneSh. A continuación hay algunas referencias útiles:

Nand2Tetris:

pregunta smwikipedia

1 respuesta

2

Realmente no puedes saltar de las instrucciones de montaje a las puertas. Entre las instrucciones en lenguaje ensamblador y las puertas reales, hay otro nivel de abstracción: los bloques de circuitos funcionales.

Las instrucciones en lenguaje ensamblador generan señales de control a varios bloques funcionales. Como mínimo está el decodificador de instrucciones, la ALU para aritmética y el secuenciador de programas para el flujo de instrucciones. Además, generalmente hay uno o dos generadores de direcciones para direccionar operandos. Podrían ser simples punteros, como en un 8051, o unidades aritméticas complejas, como en un DSP. A menudo tiene registros de tuberías para permitir que las instrucciones fluyan más rápido. En estos días, también hay co-procesadores de punto flotante y otros.

El funcionamiento de cada uno de estos bloques se puede discutir en detalle. Así que realmente no podemos responder a esa pregunta.

El microcódigo era una forma de simplificar esos bloques, a expensas de la velocidad. El procesador es muy simple y las instrucciones complejas invocan una secuencia de micro-instrucciones, preprogramadas en un "almacén de control", que se ejecutan en el hardware simplificado. La técnica ya no se usa, ya que la velocidad se considera mucho más importante que las puertas. Las puertas son casi gratis.

    
respondido por el Mark

Lea otras preguntas en las etiquetas