5. Instrucciones-Ensamblador-Compilador PDF

Title 5. Instrucciones-Ensamblador-Compilador
Course Arquitectura de Computadoras
Institution Universidad Nacional de Mar del Plata
Pages 23
File Size 1015.2 KB
File Type PDF
Total Downloads 39
Total Views 145

Summary

Apuntes de modulo 5 de arquitectura de computadores...


Description

Apuntes de Cátedr Cátedra: a: Procesadores Procesadores:: 80x86 / P Pentium entium Lenguaje Ensamb Ensamblador lador Sistemas Oper Operativos ativos

INDICE DEL CONTENIDO Procesadores 80X86 y Pentium Introducción Diagrama en bloques Memoria segmentada Set de registros de la familia 80x86 Resumen de los registros del 80x86 Ejecución en Pipeline Capacidad Superescalar Características del Procesador Pentium

Lenguaje Assembler (Ensamblador) Proceso de ensamblaje: .asm, .obj, .exe Información de cabecera (header) Programa simple Tasm ---> Ensamblado / Tlink --> Enlace Debuger / depurador, Características Diagrama de flujo: generación de un archivo ejecutable Reglas del Lenguaje Assembler Estructura del programa: etiqueta, instrucción, comentario. Resumen de instrucciones del 80x86 Ejemplo de programa

Sistemas Operativos Conceptos sobre Sistemas Operativos Sistemas operativos multitarea Planificación de los procesos Bloque de control de proceso

Familia de Procesadores 80X86 Y Pentium Introducción Los microprocesadores de la familia 80X86 utilizan el concepto de colas de instrucción para aumentar la velocidad de proceso. Dentro del propio chip hay un área especial a la que se da el nombre de cola de instrucciones, que guarda los bytes de la instrucción. Cuando la computadora está preparada para obtener la siguiente instrucción, no necesita cargar los octetos desde memoria, sino que toma la instrucción siguiente de la cola antes citada. De esta forma, el bus de datos y el de direcciones no presentan períodos punta de utilización como es común en los buses de los dispositivos de 8 bits, que necesitan estar contínuamente accediendo a memoria . Utilizando mejor el bus se consigue aumentar el ancho de banda del bus, y aumentar el número de instrucciones posibles por segundo, al lograr que el bus esté durante más tiempo disponible para el resto de los dispositivos. Con este propósito el procesador está dividido internamente en dos subprocesadores que consiten en una Unidad de Ejecución ( EU : Execution Unit ) y una unidad Interfase de Bus ( BIU : Bus Interface Unit ). La unidad de ejecución está encargada de decodificar y ejecutar las instrucciones mientras que la unidad de interfase de bus está encargada de localizar las instrucciones y de transferir datos entre los registros internos y el mundo exterior, además de la busqueda de instrucciones utiliza un método llamado de estructura tubular (pipeline) o por cola para almacenar nuevas instrucciones hasta que se necesiten . Esta aproximación es un ejemplo claro de diseño modular. Esto es, el todo (el procesador) se divide en partes (los dos subprocesadores), y cada parte o módulo forma una unidad de trabajo encargada de ciertas subtareas. Esto es un principio fundamental en la teoría moderna de diseño del hardware y software, llamada comunmente programación estructurada. Una de las ventajas de esta aproximación modular es el ahorro de esfuerzo necesario para producir nuevos chips, un ejemplo de esto es que para producir el procesador 8088 fué necesario rediseñar solamente la mitad del 8086 ya que la diferencia entre estos está en la unidad BIU . Los microprocesadores 8086 fueron los primeros de 16 bits y dieron origen a la serie 80X86 utilizados desde un comienzo en el desarrollo de computadoras PC, su capacidad de direccionamiento es de 20 bits y utilizan un esquema de direccionamiento de memoria llamado de segmentación, en el cual ciertos registros de segmentación suministran una dirección base, que se añade automáticamente a cada dirección de 16 bits que define el usuario. Parte de la dirección y todo el bus de datos están multiplexados en 16 terminales. Los 4 bits de dirección restantes se corresponden con los 4 terminales de dirección adicionales que también se utilizan para el estado. Se requiere un reloj externo y un controlador de bus también externo que se utiliza para demultiplexar el bus de direcciones/datos. Este modo de funcionamiento segmentado se sigue manteniendo en todos los 80X86 desarrollados posteriormente .

Diagrama en bloques

Memoria segmentada La segmentación es usada para encapsular regiones de me-moria que tienen atributos comunes y que le confiere un nivel de protección de la información disponible en memoria. Es decir que en esta disposición los programas no se almacenan como una secuencia lineal de instrucciones y datos sino como módulos de código (instrucciones), datos, pila, etc . Todos los miembros de la familia 80X86 pueden operar eficientemente en modo real, usualmente asociado con los primeros miembros de esta familia, el 8086 y 8088. Con 20 líneas de dirección estos procesadores tienen 1 Mbytes de direccionamiento de memoria. Entonces para mantener la compatibilidad, los otros procesadores tienen el mismo espacio de direccionamiento cuando trabajan en modo real . Básicamente, la segmentación es un método de acceso a memoria en el cual toda dirección se compone de dos cantidades el segmento y el desplazamiento. El segmento apunta a un área de memoria mientras que el desplazamiento apunta a una dirección dentro de ese segmento . Memoria del sistema 00000┌──────────────────┐ │ │ │ │ Segmento -> ┌─├──────────────────┤─┐ │ │ │ │ Desplazamiento...


Similar Free PDFs