La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Introducción MSc. Rina Arauz.

Presentaciones similares


Presentación del tema: "Introducción MSc. Rina Arauz."— Transcripción de la presentación:

1 Introducción MSc. Rina Arauz

2 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.

3 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.

4 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

5 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.

6 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.

7 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

8 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)

9 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

10 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

11 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

12 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)

13 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

14 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

15 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

16 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.

17 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.


Descargar ppt "Introducción MSc. Rina Arauz."

Presentaciones similares


Anuncios Google