Red de conocimiento informático - Conocimiento del nombre de dominio - Detalles del microcódigo

Detalles del microcódigo

El microcódigo, también conocido como microinstrucciones, es una serie de instrucciones relativamente simples que se descomponen al ejecutar ciertas instrucciones complejas bajo la arquitectura CISC. El concepto relacionado apareció por primera vez en 1947. Introducción El microcódigo, también conocido como microinstrucciones, es una serie de instrucciones relativamente simples que se ejecutan bajo la arquitectura CISC. Es una serie de instrucciones relativamente simples que se dividen en la arquitectura CISC en instrucciones que ejecutan instrucciones complejas. El concepto apareció por primera vez en 1947. La función de las microinstrucciones es separar las instrucciones de la máquina de la implementación del circuito asociado, de modo que las instrucciones de la máquina puedan diseñarse y modificarse más libremente sin tener que considerar la arquitectura del circuito real. El uso de la arquitectura de microinstrucción permite construir instrucciones de máquina complejas de varios pasos y, al mismo tiempo, reducir la complejidad del circuito en comparación con otros enfoques. Escribir microinstrucciones generalmente se denomina microprogramación, y las microinstrucciones reales en un procesador de una arquitectura particular a veces se denominan microprogramas. Las microinstrucciones modernas suelen ser escritas por ingenieros de CPU durante la fase de diseño y almacenadas en una memoria de solo lectura (ROM) o en una matriz lógica programable (PLA). Sin embargo, algunas máquinas almacenan microinstrucciones en una memoria estática de acceso aleatorio (SRAM) o en una memoria flash. Para el programador medio, incluso para los programadores en lenguaje ensamblador, las microinstrucciones suelen ser invisibles e inmodificables. A diferencia de las instrucciones de las máquinas, que deben seguir siendo compatibles entre una variedad de procesadores diferentes, las microinstrucciones solo están diseñadas para ejecutarse en una estructura de circuito específica y son parte de un diseño de procesador específico. Tecnología de microprogramación La tecnología de microprogramación se refiere a la tecnología que utiliza tecnología de software para realizar el diseño de hardware. Arquitectura de conjunto de instrucciones La arquitectura de conjunto de instrucciones (ISA), también conocida como conjunto de instrucciones o arquitectura de conjunto de instrucciones, es la parte de la arquitectura de la computadora relacionada con la programación. Es la parte de la arquitectura de la computadora que es relevante para la programación e incluye tipos de datos básicos, conjuntos de instrucciones, registros, modos de direccionamiento, sistemas de memoria, interrupciones, manejo de excepciones y E/S externas. La arquitectura del conjunto de instrucciones consta de un conjunto de códigos de operación o lenguaje de máquina y comandos básicos que son ejecutados por un procesador específico. La arquitectura del conjunto de instrucciones es diferente de la microarquitectura (la forma en que se diseña un microprocesador para ejecutar un conjunto de instrucciones). Las computadoras que utilizan diferentes microarquitecturas pueden disfrutar del mismo conjunto de instrucciones. Por ejemplo, el Pentium de Intel y el AMD Athlon de AMD utilizan versiones casi idénticas del sistema de conjunto de instrucciones x86, pero sus diseños internos son fundamentalmente diferentes. Algunas máquinas virtuales admiten el código de bytes generado por Smalltalk, la máquina virtual Java y la máquina virtual pública Language Runtime de Microsoft. Sus sistemas de conjunto de instrucciones traducen el código de bytes de la ruta del código como un medio común al lenguaje de máquina nativo y ejecutan rutas de código poco comunes descifrando. a ellos. Asimismo, Transamerica ha desarrollado VLI basado en el conjunto de instrucciones x86, basado en el procesador VLIW. Clasificación de conjuntos de instrucciones Las computadoras con conjuntos de instrucciones complejos contienen muchas instrucciones específicas que rara vez se utilizan en las aplicaciones. La desventaja es que la longitud de las instrucciones no es fija. Una computadora con un conjunto de instrucciones reducido solo ejecuta las instrucciones utilizadas frecuentemente en el programa, simplificando así la estructura del procesador, mientras que las operaciones especiales se implementan en forma de subrutinas, y sus propósitos especiales se compensan con el tiempo de ejecución adicional del procesador. Los tipos teóricamente importantes también incluyen computadoras con un conjunto mínimo de instrucciones y computadoras con un solo conjunto de instrucciones, pero ninguna de estas computadoras se utiliza como procesador comercial. Otro tipo derivado es la palabra de instrucción muy larga, es decir, el procesador acepta muchas instrucciones codificadas, extrae una palabra de instrucción mediante recuperación y la ejecuta. Lenguaje de máquina El lenguaje de máquina consta de declaraciones e instrucciones. Dentro de una estructura de procesamiento, una instrucción específica especifica lo siguiente: registros específicos utilizados para operaciones aritméticas, direccionamiento o funciones de control; direcciones o compensaciones en espacios de memoria específicos y modos de direccionamiento específicos utilizados para decodificar códigos de operación. Se pueden implementar operaciones complejas combinando instrucciones simples, ejecutándolas secuencialmente (en los sistemas von Neumann) o ejecutándolas en un flujo de control.

Conjunto de instrucciones complejas La computación de conjuntos de instrucciones complejas (inglés: computación de conjuntos de instrucciones complejas; abreviatura: CISC) es una arquitectura de conjunto de instrucciones de microprocesador en la que cada instrucción realiza una serie de operaciones de bajo nivel, como leer desde la memoria y escribir en la memoria. a la memoria. CISC es una arquitectura de conjunto de instrucciones de microprocesador en la que cada instrucción realiza varias operaciones de bajo nivel, como leer de la memoria, almacenar y calcular en una sola instrucción. Lo contrario es un conjunto de instrucciones reducido. El conjunto de instrucciones complejas se caracteriza por una gran cantidad de instrucciones complejas, cada una de las cuales tiene diferentes longitudes de palabras. La computadora debe leer estas instrucciones, lo que afecta el rendimiento. Antes de la llegada de los procesadores con conjuntos de instrucciones reducidos, muchas arquitecturas informáticas intentaron cerrar la "brecha semántica": diseñando conjuntos de instrucciones que admitieran lenguajes de programación de alto nivel, proporcionando instrucciones de "orden superior" (como llamadas y retornos de programas), instrucciones en bucle. (como "decrementar y bifurcar si es distinto de cero") y modos de direccionamiento complejos, que permiten combinar la estructura de datos y los accesos a matrices en una sola instrucción. En comparación con los conjuntos de instrucciones complejos, los conjuntos de instrucciones reducidos son más fáciles de implementar, las instrucciones se ejecutan con mayor paralelismo y los compiladores son más eficientes. Los procesadores que pertenecen al complejo conjunto de instrucciones incluyen CDC 6600, System/360, VAX, PDP-11, Motorola 68000 series, x86 y otros. Ver también Microarquitectura Arquitectura del sistema informático