Principios de composición por computadora-Notas-Capítulo 4

Tabla de contenido

Capítulo 4 - Sistema de comando

1. Formato de comando

(1) Instrucciones (instrucciones de máquina - números binarios)

(2) Clasificación de instrucciones (según el número de códigos de dirección)

(3) Clasificación de las instrucciones (clasificadas por longitud)

(4) Clasificación de las instrucciones (según tipo de operación)

(5) Resumen

2. Código de operación extendido

(1) Método de expansión del código de operación (notas)

(2) Ejercicios (opcodes extendidos)

(3) Resumen

3. Direccionamiento de instrucciones (secuencia, salto)

(1. Resumen

4. Direccionamiento de datos

(1) Direccionamiento directo (diferente al direccionamiento inmediato - 2 veces)

(2) Direccionamiento indirecto (conveniente - programación - n veces)

(3) Direccionamiento de registro (rápido - 1 vez)

(4) Registrar direccionamiento indirecto (rápido - para direccionamiento indirecto - 2 veces)

(5) direccionamiento implícito

(6) Direccionamiento inmediato

(7) Resumen

5. Direccionamiento de datos (direccionamiento compensado)

(1) Direccionamiento base (dirección base + desplazamiento - para el sistema operativo)

(2) Direccionamiento indexado (estructura de bucle - para programadores)

(3) Direccionamiento relativo (¡conveniente para jump jump!)

(4) Resumen

(5) Hardware - Comparador

(6) Direccionamiento de pila (implementaciones de software y hardware - pop & push)

6. Lenguaje ensamblador

(1) Especifique la longitud de lectura y escritura de la memoria

(2) Registro

(3) Descripción del comando

(4) Instrucciones de montaje X86

(5) formato AT&T y formato Intel

(6) Declaración de selección (usando salto)

(7) Declaración de bucle (salto y bucle)

(8) CISC & RIESGO


Capítulo 4 - Sistema de comando

El diseñador de la CPU definirá e implementará un conjunto de instrucciones de máquina para usar y llamar en lenguaje ensamblador.

Las instrucciones de máquina son instrucciones que el hardware de la computadora entiende y ejecuta directamente, se expresan en forma binaria y corresponden a operaciones y funciones específicas.

1. Formato de comando

 

(1) Instrucciones (instrucciones de máquina - números binarios)

(2) Clasificación de instrucciones ( según el número de códigos de dirección )

 

 

(3) Clasificación de las instrucciones (clasificadas por longitud)

Longitud de palabra de máquina: ¡el número de dígitos que la CPU puede procesar una vez! (16, 32, 64 bits) x32, x64

Por lo tanto, cuando la instrucción es una instrucción de palabra doble, ¡la CPU necesita leerla dos veces!

(4) Clasificación de las instrucciones (según tipo de operación)

(5) Resumen


2. Código de operación extendido

(1) Método de expansión del código de operación (notas)

 

(2) Ejercicios (opcodes extendidos)

 

(3) Resumen


 

3. Direccionamiento de instrucciones (secuencia, salto)

Direccionamiento secuencial:

Cuente de acuerdo con [longitud de instrucción] y [cómo direccionar la memoria principal] (recuento de programas de PC)

Es decir, el paso acumulativo está determinado por la proporción de [longitud de la instrucción] y [cómo direccionar la memoria principal]

El valor de la PC : ¡apunta a la próxima instrucción que se ejecutará! (¡Similar a permitirle ejecutar el número correspondiente de líneas de código!)

Saltar direccionamiento:

Cuando busque en orden, cuando encuentre una función o (sentencia goto), ¡saltará a la línea de código correspondiente!

¡Esto también es parecido! , cuando encuentre una declaración de salto, salte a la posición especificada. ! !

instrucción de longitud fija

instrucción de longitud variable 

(1. Resumen


 

4. Direccionamiento de datos

 

(1) Direccionamiento directo (diferente al direccionamiento inmediato - 2 veces)

Directo: ¡vaya directamente a la memoria principal para encontrarlo!

Inmediatamente: código de dirección = operando - ¡utilícelo directamente!

 

(2) Direccionamiento indirecto (conveniente - programación - n veces)

 

(3) Direccionamiento de registro (rápido - 1 vez)

 

(4) Registrar direccionamiento indirecto (rápido - para direccionamiento indirecto - 2 veces)

(5) direccionamiento implícito

(6) Direccionamiento inmediato

(7) Resumen

5. Direccionamiento de datos (direccionamiento compensado)

(1) Direccionamiento base (dirección base + desplazamiento - para el sistema operativo)

¡Recuerde usar bit para indicar qué registro almacena la dirección base! ! !

Ventajas: almacenado en la memoria, el desplazamiento se calcula de acuerdo con la dirección base (equivalente a: relativo), por lo que cuando el programa se ejecuta simultáneamente, incluso si la ubicación del almacenamiento de instrucciones cambia, ¡no es necesario modificar la instrucción!

Desventajas: el direccionamiento base requiere un registro específico para almacenar el valor de la dirección base, y se requiere el cálculo de la dirección base y el desplazamiento cuando se ejecuta la instrucción. Esto introduce algunos gastos generales adicionales.

 

(2) Direccionamiento indexado (estructura de bucle - para programadores)

 

(3) Direccionamiento relativo (¡conveniente para jump jump!)

Nota: Si se cambia el segmento del programa, ¿cambiará el operando al que apunta el programa?

Método de optimización: ¡Separe el segmento de datos y el segmento de programa! De esta manera, cuando cambie el segmento del programa, ¡la ubicación de los datos señalados no cambiará!

(4) Resumen

(5) Hardware - Comparador

(6) Direccionamiento de pila (implementaciones de software y hardware - pop & push)

6. Lenguaje ensamblador

(1) Especifique la longitud de lectura y escritura de la memoria

(2) Registro


(3) Descripción del comando

 

(4) Instrucciones de montaje X86

(5) formato AT&T y formato Intel

 

(6) Declaración de selección (usando salto)

(7) Declaración de bucle (salto y bucle)

(8) CISC & RIESGO

Supongo que te gusta

Origin blog.csdn.net/Pan_peter/article/details/132185719
Recomendado
Clasificación