Introducción MSc. Rina Arauz.

Slides:



Advertisements
Presentaciones similares
Instrucciones de operación sobre datos
Advertisements

REGISTROS INTERNOS DEL PROCESADOR.
TEMA 2 Arquitectura de un Ordenador
Fermín Sánchez Carracedo Universitat Politècnica de Catalunya
Computación PROGRAMACIÓN.
INSTTUTO TECNOLOGICO DE APIZACO
Introducción a los Sistemas Operativos Memoria Virtual
ARQUITECTURA INTEL FORMATOS DE INSTRUCCIÓN
Andrés Núñez Herrero Enrique España Blanco Rodrigo Cembrero Carazo
ARQUITECTURA INTEL Modos de direccionamiento
Formatos de instrucción
Teoría de lenguajes y compiladores
Programación en Lenguaje Ensamblador.
Arquitectura de Conjunto de Instrucciones (ISA)
Gestión de Entrada / Salida
PROG. EN ENSAMBLADOR Ing. Pablo Cesar Tapia Catacora.
Composición Interna de un Procesador
Direcciones físicas y direcciones virtuales (lógicas)
Arquitectura del Computador
ISA (Instruction Set Architecture)

ARQUITECTURA DE LOS MICROPROCESADORES DE 8 BITS
MIPS Intermedio.
Introducción al lenguaje ensamblador
Introducción a la Ingeniería en Sistemas
Secciones y Segmentos STARTUP
SOFTWARE DE PROGRAMACIÓN
Maquinas Digitales  La idea principal es dividir el procesamiento de cada una de las instrucciones en una serie de pasos totalmente independientes.
Conceptos Arquitectónicos del computador
ICC243 Sistemas Operativos P03: Introducción: Conceptos Prof. Jonathan Makuc.
IPN Escuela Superior de Cómputo MICROPROCESADORES II.
Lenguaje de Programación cap. 1 Estructura del Computador.
MÁQUINAS MULTINIVEL NIVEL 5 Lenguajes de alto nivel
Computación II Unidad X Manejo de Excepciones. Presentación de la Unidad Objetivos: –Saber manejar situaciones inesperadas dentro de un programa –Comprender.
Tema 1: DATOS Y REGISTROS
Unidad I: Registros e Interrupciones Facilitador: Ing. Eduardo Brando.
Microcomputadores Prof: Tatiana Marín R.. Lenguaje máquina = lenguaje binario InstrucciónLenguaje máquina (binario)OP ( hex)Nemónico Restar F0SUB.
Unidad 2: Segmentación Excepciones en la Segmentación Docente: Ing. José Díaz Chow ARQUITECTURA DE MÁQUINAS COMPUTADORAS III.

Tema 2: Lenguaje máquina
Introducción Sebastián Sánchez Prieto. Introducción 2  S2P, OGP & IGT Sistemas, complejidad y modelos Un ordenador es un sistema complejo que.
INTRODUCCION AL AMBIENTE DE BAJO NIVEL ® M.C.C. Sergio Luis Castillo Valerio Esta presentación puede reproducirse libremente siempre que se mantengan estos.
MODOS DE DIRECCIONAMIENTO
introducción al Lenguaje Ensamblador
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
Breve introducción a la arquitectura de 32 bits intel.
Breve introducción a la arquitectura de 32 bits intel.
PROGRAMACION A BAJO NIVEL
Capítulo 4 CPU y la memoria.
TEMA1:Introducción 1 1. Programación 2. Lenguajes de Programación 3. Ordenador.
SEMANA 01_2.
Maquinas Digitales Funciones del Procesador Buscar instrucciones Interpretar instrucciones Buscar datos Procesar datos Escribir datos.
Ing. Lionel Hendryk. Sistemas Embebidos Un sistema embebido es un sistema de computación diseñado para realizar una o algunas pocas funciones dedicadas.
TEMA : ARQUITECTURA DE COMPUTADORAS
introducción al Lenguaje Ensamblador
Maquinas Digitales UNIDADES DE CONTROL.
Unidad Central de Proceso
INTEGRANTES: JOSE ESTEVEZ _HUGO ANDRADE CURSO: 5TO “B”
CONJUNTO DE INSTRUCCIONES Maquinas Digitales
Aprende el arte de la ingeniería inversa
 Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.
ò Unidad Aritmético-Lógica ò Unidad de Control ò Buses internos ò Registros ò Puntero de Instrucciones (IP o PC) ò Acumulador ò De uso Generales ò.
Curso: Fundamentos de Computación
Arquitectura de Computadores
El microprocesador y su arquitectura
Lenguaje ensamblador Conceptos introductorios. Formatos de Instrucción. Modos de Direccionamiento. Conjunto de instrucciones básico. Introducción al Lenguaje.
Gestión de Memoria – Parte 2
Arquitectura de PCs Arquitectura básica del PC. Introducción El PC es el resultado de una especificación técnica de IBM El hardware se organiza de forma.
Omar Herrera Caamal Rigoberto Lizárraga Luis Cetina Luna.
Estructura del sistema operativo
Transcripción de la presentación:

Introducción MSc. Rina Arauz

Sistemas, complejidad y modelos Un ordenador es un sistema complejo que puede describirse mediante diferentes modelos en distintos niveles de una jerarquía de abstracciones. Sistema: conjunto de cosas que ordenadamente relacionadas entre sí contribuyen a un determinado objetivo. Sistema complejo: es el compuesto por un gran número de partes que actúan entre sí de manera no sencilla. Modelo: sirve de representación para comprender, analizar, modificar, diseñar o experimentar con el sistema modelado. Niveles de una jerarquía de abstracciones: Cada nivel brinda cierta interfaz que abstrae los niveles inferiores permitiendo montar sobre ellos nuevos niveles aún más abstractos.

Un computador digital es una máquina que puede resolver problemas ejecutando ciertas instrucciones. Lenguaje máquina es el conjunto de instrucciones básicas de una computadora. Utilizar lenguaje máquina es difícil y tedioso. Solución: » sea L1 el lenguaje máquina » y L2 un lenguaje más fácil de utilizar Podemos imaginar la existencia de una máquina virtual cuyo lenguaje máquina es L2. Se pueden crear L3, L4... cada uno más fácil de utilizar.

Lenguajes, niveles y máquinas virtuales Máquina virtual M3 con un lenguaje L3 Los programas del nivel 2 son interpretados por programas que se ejecutan en M1 o M0 o son traducidos a lenguajes L1 o L0 Nivel 2 Máquina virtual M2 con un lenguaje L2 Nivel 1 Máquina virtual M1 con un lenguaje L1 Nivel 0 Computador real M0 con un lenguaje L0

Visión jerárquica de un computador Las primeras clasificaciones sólo diferenciaban entre el hardware y el software Actualmente una de las estructuras más utilizadas es la siguiente: Tarea: Investigue cada uno de estos niveles.

Modelos de cada nivel Cada nivel puede ser descrito utilizando diversos modelos: Modelo funcional: describe la función del sistema, sus acciones sobre el entorno y sus reacciones a éste. Modelo estructural: describe la organización del sistema como conjunto de partes relacionadas. La realización práctica de cada modelo puede llevarse a cabo de modos muy diferentes. A un mismo modelo funcional pueden corresponder distintos modelos estructurales. Los modelos se emplean con el fin de aplicarlos en la práctica y resolver un determinado problema.

Modelos de memoria La memoria es dividida en celdas de tamaño fijo, normalmente 8 bits (tamaño del carácter representado en ASCII) Una celda es el mínimo bloque de información que puede ser transferido entre el procesador y la memoria y viceversa Han existido arquitecturas con otros tamaños de celda (i.e. 27 bits) Los bytes normalmente se agrupan de 4 en 4 o de 8 en 8 para formar palabras, dobles palabras... Problemas: Alineamiento Ordenación

Registros Los registros son las celdas básicas de memoria integradas en el procesador Tipos: registros de propósito general: registros de propósito especial (SP, PC) Otra clasificación registros modo núcleo registros de usuario registros híbridos: Program Status Word (PSW)

Registros 32 bits 16 bits AH A X AL EAX BH B X BL EBX CH C X CL ECX DH DL EDX ESI EDI EBP ESP CS SS DS ES FS GS EIP EFLAGS

Formato de instrucciones Una instrucción consta habitualmente de un código de operación e información adicional para localizar los operandos si es que existen Posibles formatos de instrucción: CODOP Sin operandos CODOP Dirección 1 operando CODOP Dirección 1 Dirección 2 2 operandos CODOP Dirección 1 Dirección 2 Dirección 3 3 operandos

Formato de instrucciones del Pentium II Formato: muy irregular Razón: compatibilidad binaria con los procesadores anteriores Bytes 0-5 1-2 0-1 0-1 0-4 0-4 PREFIJO CODOP MODO SIB Desplazamiento Inmediato Bits 6 1 1 Bits 2 3 3 Instrucción ESCALA ÍNDICE BASE Byte/word ¿Qué operando es fuente? Bits 2 3 3 MOD REC R/M

Direccionamiento Consideremos una instrucción del tipo ADD ADD: Destino  Origen1 + Origen2 ¿Cómo referenciar los operandos? La instrucción puede incluir las tres posiciones de memoria (origen1, origen2 y destino) Problema: instrucción muy larga Solución: empleo de registros: Tres: Rx = Ry + Rz Típico de arquitecturas RISC Dos: Rx = Rx + Ry I.e. Pentium Uno: Acc = Acc + Rx Arquitecturas tipo acumulador Cero Arquitecturas tipo pila como la Java Virtual Machine (JVM)

Modos de direccionamiento Inmediato: la instrucción contiene el operando mov ax, 4C00h Directo: la instrucción contiene la dirección donde se encuentra el operando mov ax, [3FB0] Por registro: el registro especificado en la instrucción contiene el operando mov ax, bx Indirecto por registro: la instrucción referencia a un registro que actúa como puntero al operando mov ax, [bx] Indexado: la instrucción especifica un registro que se emplea como índice y un offset mov ax, matriz[si] Base indexado: la instrucción especifica dos registros más un offset mov ax, matriz[si][di] Por pila: los operandos fuente y destino se localizan en la pila

Tipos de instrucciones De transferencia de datos Mem – Mem, Mem – Reg, Reg – Mem, Reg - Reg Operaciones de dos elementos ADD, SUB, AND, OR, XOR, etc. Operaciones de un elemento Rotaciones, desplazamientos, negaciones, etc. Comparaciones y saltos condicionales Saltos si igual, mayor, menor, etc. Llamadas y retornos a procedimientos CALL y RET Llamada al sistema SVC, SYSCALL, INT X, etc. Control de bucles LOOP, DJNZ, etc. Entrada y salida IN y OUT

Eventos síncronos y asíncronos Un evento síncrono es aquel que se produce ligado al flujo de ejecución del programa Un evento asíncrono es aquel que se produce de un modo independiente al flujo de ejecución del programa Los eventos síncronos son reproducibles, cosa que no ocurre con los asíncronos Un evento síncrono se desencadena siempre en el mismo punto de un programa si las condiciones son las mismas Como ejemplos de los primeros podemos poner los traps y las llamadas al sistema Como ejemplo de los segundos tenemos las interrupciones

Traps Un trap es un evento síncrono que provoca la activación automática de un procedimiento iniciado como consecuencia de una condición especial El procedimiento ejecutado cuando se produce el trap se denomina manejador de trap Ejemplos: Overflow División por cero Violación de acceso a memoria Fallo de página Instrucción ilegal, etc.

Interrupciones Una interrupción es un evento asíncrono que provoca el cambio del flujo de control de un programa Al producirse la interrupción se invoca de modo automático a un procedimiento conocido normalmente como manejador de interrupción Cada interrupción lleva asociada una prioridad Vinculadas a las interrupciones existen una serie de acciones hardware y software.