Capítulo 2 Principios y arquitectura de las microcomputadoras

Capitulo dos

80386 sistema de direccionamiento

  • Caso sin paginación

    Pasos de cálculo: primero obtenga el selector de segmento del programa, encuentre la dirección base del segmento (32 bits) de acuerdo con el contenido del selector de segmento y luego obtenga la dirección de desplazamiento utilizada por la instrucción actual.

    Dirección lineal de 32 bits = dirección base del segmento (32 bits) + desplazamiento dentro del segmento (16 bits) + desplazamiento lógico (32 bits)

    En ausencia de paginación, una dirección lineal es solo una dirección física.

    imagen-20220102130205245

    Los 13 bits superiores son el índice del descriptor, y se agregan tres 0 al final para indicar el desplazamiento del descriptor del segmento en relación con la dirección base (equivalente a los primeros trece bits multiplicados por 8H y desplazados a la izquierda por tres bits, y los últimos tres bits se ponen a cero como un todo)

    El bit 2 es el bit indicador de la tabla de descriptores de referencia.

    • TI=0: Leer descriptores de la tabla de descriptores globales GDT
    • TI=1: Lea el descriptor de la tabla de descriptores locales LDT

    Los bits 1 y 0 son el nivel de privilegio de solicitud RPL

  • 例:La dirección base de LDT es 00120000H, la dirección base de GDT es 0010 0000Hy CS=1007Hencuentre la dirección del descriptor de segmento

    解: CS = 0001 0000 0000 0111B

    Así que hay TI=1, RPL=11B=3yOFFSET(偏移地址) = 0001 0000 0000 0000H = 1000H

    Entonces la dirección del descriptor de segmento es0012 0000H + 1000H = 0012 1000H

  • : La dirección base de LDT es 0060 2000H, la dirección base de GDT es 0050 1000H, CS=2006H, EIP=0200Hencuentre la dirección lineal del segmento de código en la memoria.

    解:El título EIPse refiere a la dirección de compensación

    Así que primero calcule la dirección del descriptor del segmento, CS = 0010 0000 0000 0110Bes decir TI=1,RPL=10B=2

    también tienenLD = 2000H + 0060 2000H = 0060 4000H

    entonces线性地址 = LD + EIP = 0200H + 0060 4000H = 0060 4200H

  • Hay un caso de paginación.

    Responda al proceso específico de traducción de dirección lógica a dirección física en el sistema de procesador 80386.

    1. La CPU primero obtiene el selector de segmento y la dirección de desplazamiento dentro del segmento de la instrucción de acceso a la memoria

    2. Consultar el descriptor de segmento correspondiente de la tabla de segmentos (GDT o LDT) según el selector de segmento

    3. Genere una dirección lineal de 32 bits (dirección virtual bajo el mecanismo de página) basada en la dirección base del segmento en el descriptor de segmento y la dirección de desplazamiento del segmento en la instrucción

    4. La dirección lineal de 32 bits se divide en tres partes según el diseño de la tabla de páginas secundarias 80386: los 10 bits superiores se utilizan como índice de entrada del directorio de páginas, los segundos 10 bits más altos en el medio se utilizan como página índice de entrada de la tabla y los 12 bits inferiores se utilizan como dirección de desplazamiento de página.

    5. Obtenga la dirección de la página física de la tabla de páginas de segundo nivel de la tabla del directorio de páginas de primer nivel a través del índice de entrada del directorio de páginas de 10 bits alto (que se puede obtener a través del número de marco de la página física), y luego busque la entrada de la tabla de páginas correspondiente índice de acuerdo con el índice de entrada de la tabla de páginas de 10 bits del medio Marco de página física. De acuerdo con el número de marco de la página física y la dirección de desplazamiento en la página, la dirección física final se genera conjuntamente para acceder a la memoria física.

Mejoras en la arquitectura del microprocesador

  • Capas de subsistemas de almacenamiento

    La cuestión clave es: para construir un sistema de almacenamiento que cumpla con los requisitos de capacidad y velocidad a un precio razonable, es fundamentalmente necesario coordinar la contradicción entre velocidad, capacidad y costo.

  • Estructura secundaria: memoria (para resolver la velocidad de lectura y escritura) + memoria externa (para resolver la capacidad de almacenamiento)

  • Estructura de cuatro niveles: registro + caché + memoria principal (direccionamiento de bytes) + almacenamiento auxiliar

    La estructura de memoria caché principal resuelve la contradicción entre alta velocidad y bajo costo

    La estructura de memoria principal-memoria auxiliar utiliza memoria virtual para resolver la contradicción entre gran capacidad y bajo costo

  • Canalización: divide el proceso de procesamiento de instrucciones de la computadora en varios pasos y ejecuta instrucciones en paralelo a través de múltiples unidades de procesamiento de hardware para acelerar la ejecución de instrucciones.

  • Superescalar: una CPU con una arquitectura superescalar puede enviar simultáneamente varias instrucciones para que se ejecuten en diferentes unidades de ejecución en un ciclo de reloj, lo que da cuenta del paralelismo del conjunto de instrucciones.

  • Problemas de la tubería: solo cuando está completamente cargada se puede ejercer la mejor eficiencia; el número de etapas de la tubería no se puede aumentar indefinidamente; aumentarán los costos de hardware; se introducirán demoras y gastos generales adicionales, lo que limitará la profundidad de la tubería; tubería interrumpida.

modo de direccionamiento

  1. Direccionamiento inmediato: los operandos son parte de la instrucción

    MOV AX,1234H
    ;小端序:高位:12->AH 低位:34->AL
    
  2. Direccionamiento directo: el operando requerido por la instrucción se almacena en la memoria y la dirección efectiva del operando se proporciona directamente en la instrucción.

    MOV AX,[1234H]
    ;MOV 不能直接进行两地址之间的内存交换
    
  3. Direccionamiento de registro: el operando se almacena en el registro y los datos se obtienen especificando el registro

    MOV AX,BX
    
  4. Registro de direccionamiento indirecto: la dirección efectiva del operando está solo en uno de los cuatro registros SI, DI, BX,BP

    MOV AX,[DI]
    ;[]取内存单元
    
  5. Direccionamiento relativo al registro: la dirección efectiva del operando es la suma del valor de un registro base ( , BX) BPo un registro de índice ( SI, DI) más el desplazamiento de 8 o 16 bits dado en la instrucción

    MOV AX, [BX + 1234H] ;或者 MOV 1234H[BX]
    
  6. Direccionamiento base indexado: La dirección efectiva del operando se obtiene sumando el valor de uno de los registros base ( BX, BP) al valor de uno de los registros índice ( SI, )DI

    MOV AX, [BX + DI]
    ;MOV AX, [BX][SI]
    
  7. Direccionamiento indexado relativo a la base: agrega un desplazamiento en comparación con el direccionamiento indexado a la base

    MOV AX, 1234H[BX + DI]
    

ejercicio

  • La CPU 8086 divide el espacio de 1 MB en varios segmentos lógicos y cada segmento puede contener hasta 64 KB de unidades de almacenamiento.

  • El espacio máximo de E/S direccionable de 8086CPU es de 64 KB

  • El espacio de direcciones de la memoria interna en el sistema 8086 es de 1 M, y cuando se realizan lecturas y escrituras de E/S, la línea de dirección efectiva son los 16 bits inferiores .

  • Si la frecuencia principal de 8086CPU es 8MHz, su ciclo de bus básico es 500ns

  • La dirección de byte virtual 7FFFH-8000H puede no ser continua en el espacio de direcciones físicas

  • ? 8086 tiene 2 pines de interrupción de hardware de CPU , INTR/NMI es una señal de interrupción enmascarable y una señal de interrupción no enmascarable INTA es una respuesta de interrupción

  • La CPU 8086 lee/escribe la memoria, y la operación que requiere dos ciclos de bus es leer/escribir una palabra desde una dirección impar (línea de datos de 16 bits, leer desde una dirección impar no es la forma de hacerlo)

  • En los métodos de administración de segmentación y paginación de la memoria de la computadora, los segmentos pueden superponerse y las páginas no pueden superponerse

  • La clase de cola de instrucciones en la CPU 8086 puede almacenar 6 bytes de códigos de instrucción

  • En el método de administración de paginación de almacenamiento, el propósito de construir una tabla de páginas de varios niveles es reducir el número de entradas de la tabla de páginas.

    El uso de tablas de páginas de varios niveles puede ahorrar memoria de tablas de páginas. El uso de una tabla de páginas de primer nivel requiere espacio de memoria continuo para almacenar todas las entradas de la tabla de páginas. Las tablas de páginas de varios niveles reducen el uso de la memoria al solicitar tablas de páginas solo para aquellas regiones de memoria de direcciones virtuales realmente utilizadas por el proceso.

  • Tanto el 8086 como el 80386 tienen colas de flujo de instrucciones dentro

  • En modo protegido, el registro de segmento del procesador Pentium se utiliza para seleccionar el descriptor de segmento

  • Cuando la señal del pin 8086 M/IO=1, RD=0, WR=1, la operación completada por la CPU es lectura de memoria (la lectura y escritura están activas a bajo nivel, M significa memoria)

  • En el sistema 8086, un ciclo de bus completa una lectura y escritura de memoria

  • Operación de CPU de tubería de cuatro etapas: buscar, decodificar, ejecutar, reescribir

  • El procesador de 16 bits 8086 lee y escribe datos continuos de doble byte, y el número de ciclos de bus puede ser uno o dos (cuando está alineado, un ciclo; cuando no está alineado, dos ciclos)

  • Cuando la CPU llama a una subrutina, la dirección de retorno se coloca en la pila

  • Los procesadores de Intel X86 y AMD tienen compatibilidad con conjuntos de instrucciones, y el conjunto de instrucciones es el mismo conjunto.

  • Los programas diseñados para el modo de protección X86 no pueden ejecutarse en el 8086 porque los modos de direccionamiento no son compatibles

  • La diferencia esencial entre el modo real y el modo de protección de los procesadores Intel son los diferentes mecanismos de gestión de tareas.

  • Cuando la CPU llama a una subrutina, la dirección de retorno se coloca en la pila

  • Los procesadores de Intel X86 y AMD tienen compatibilidad con conjuntos de instrucciones, y el conjunto de instrucciones es el mismo conjunto.

  • Los programas diseñados para el modo de protección X86 no pueden ejecutarse en el 8086 porque los modos de direccionamiento no son compatibles

  • La diferencia esencial entre el modo real y el modo de protección de los procesadores Intel son los diferentes mecanismos de gestión de tareas.

Supongo que te gusta

Origin blog.csdn.net/wjrzm2001/article/details/125352878
Recomendado
Clasificación