Arquitectura IA-32. Ing. Marcelo Doallo. Marzo 2013

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Arquitectura IA-32. Ing. Marcelo Doallo. Marzo 2013"

Transcripción

1 Marzo 2013

2 Antecedentes Año 1978: Se lanza la familia iapx86 Procesador 8086: 16 bits 8 meses después: Procesador Ídem 8086 pero bus externo = 8 bits Compromiso público de compatibilidad ascendente Procesador base de la primer IBM PC Año 1982: Procesador Arquitectura de 16 bits Capacidad de multitasking Sin suficientes recursos de hardware para hostear un UNIX clásico

3 Antecedentes (2) Año 1985: Procesador Presentación de la Hasta el presente mas de 15 modelos de procesadores compatibles y 7 microarquitecturas diferentes.

4 Modos de operación Real Protegido Virtual 8086 Mantenimiento del Sistema (SMM) Extended Memory 64 Technology (IA-32e) Modo Compatibilidad (32 bits) Modo 64 bits

5 Modos de operación (2)

6 Modo Real: Entorno de ejecución en 16 bits Cualquier procesador IA-32 arranca en este modo de operación Presenta de manera exacta el entorno de ejecución de un 8086 Razones de esto: Compatibilidad Administración de memoria por medio de segmentos No posee paginación

7 Administración de memoria - Generalidades Existen dos formas de organizar la memoria de un computador Por segmentos por páginas

8 Segmentación Los segmentos son de tamaño variable No necesariamente son contiguos Se pueden solapar o estar disjuntos Se direcciona por medio de un registro base mas otro que determina un desplazamiento u offset Un contador de programa a través de un segmento de código Un puntero a la pila a través de un segmento de datos Dos punteros para segmentos de datos

9 Segmentación (2) Ventajas: Manteniendo fijo el valor del segmento el movimiento a través del mismo se realiza solo con el registro de desplazamiento Reubicación en memoria simple de código, pilas y bloques de datos Desventajas: Es engorroso administrar memoria con bloques de tamaño variable

10 Paginación Tamaño fijo. Ej: 4 Kbytes No se solapan Ventajas: Administración simple de la memoria (tamaño fijo) Desventajas: Si requiero memoria para una variable de 1 byte el sistema me asigna una página completa Si se requiere reubicar código el algoritmo, en principio, es complejo.

11 Administración de Memoria en x86 Al principio Intel definió organizar el espacio de direccionamiento de la Familia iapx86 en segmentos El compromiso de compatibilidad ató a los siguientes procesadores a mantener este esquema Los procesadores 8086 y 8088 definieron 4 registros de segmento para almacenar hasta 4 selectores de segmento Al trabajar con registros de 16 bits los segmentos tienen a lo sumo 64K de tamaño

12 Modo Real: Entorno de ejecución en 16 bits

13 Direccionamiento en modo real

14

15 Reglas de Selección de Segmentos

16 Modo protegido Modo de trabajo no default, pero natural para este tipo de procesadores Se setea por software desde Modo Real Implementa una alta capacidad de direccionamiento de memoria 4 Gbytes hasta el procesador Pentium y Pentium MMX 64 Gbytes en los procesadores Pentium Pro en adelante (activando por software extensiones de memoria)

17 Modo protegido (2) Empleado por sistemas operativo modernos 32 bits Permite el modo Virtual 8086 para ejecutar un programa desarrollado para un procesador 8086/8088 como una tarea en modo protegido

18 Modo Mantenimiento del Sistema (SMM) Modo de trabajo para realizar operaciones especiales como Manejo de energía o seguridad Introducido por los procesadores 80386SL y 80486SL Se ingresa por medio de: Señal de hardware Pin SMI# Mediante un mensaje SMI recibido desde el APIC (Advanced Programmable Interrupt Controller)

19 Modo Mantenimiento del Sistema (2) Cuando ingresa a este estado el procesador salva el contexto de la tarea en ejecución Pasa a ejecutar un software específico para este modo Cuando termina la ejecución del código SMM, retorna retomando la tarea interrumpida en el punto exacto en que la abandonó

20 Modo IA-32e En este modo el procesador posee dos sub-modos: Modo Compatibilidad Modo 64 bits

21 Modo IA-32e - Modo Compatibilidad Permite ejecutar cualquier programa desarrollado en una arquitectura IA-32 sin necesidad de recompilar Apto para escribir código de sistemas operativos de 64 bits que permitan correr código existente sin recompilar La arquitectura de programación es el misma que en IA-32 Mismos registros Mismo espacio de direccionamiento de memoria

22 Modo IA-32e - Modo Compatibilidad (2) No compatible con: Tareas que ejecutan con modo Virtual 8086 Tareas manejadas por hardware. El procesador está en este modo cuando se accede a un segmento de código descripto de 32 bits.

23 Modo IA-32e - Modo 64 bits Se lo denimina normalmente como modo 64 bits Las aplicaciones acceden a un espacio lineal de direcciones de 64 bits, pero físicamente puede ser inferior en bits (Por Ejemplo: 40 bits) Los registros de propósito general se extienden a 64 bits 16 registros SIMD de 128 bits

24 Modo IA-32e - Modo 64 bits (2) Por default el tamaño de operando es 32 bits El prefijo REX permite trabajar con operandos de 64 bits extendiendo las instrucciones existentes a esta capacidad de operandos No usa segmentación, sólo paginación Los segmentos son FLATS, pierden importancia los registros selectores en algunos casos

25 Registros en IA-32

26 Registros en IA-32 (2)

27 Registros en IA-32 (3)

28 Registro EFLAGS

29 Flags en IA-32e Es igual que en IA-32 En vez de llamarse EFLAGS se llama RFLAGS

30 Registros de propósito general en IA-32e 32 bits: EAX, EBX, ECX, EDX, EDI, ESI, EBP, ESP, R8D a R15D 64 bits: RAX, RBX, RCX, RDX, RDI, RSI, RBP, RSP, R8 a R15 Con el prefijo REX se accede a mas cantidad de registos.

31 Registros de propósito general en IA-32e (2)

32 Modos de direccionamiento Implícito clc (Clear Carry Flag) Inmediato mov eax,0x20 Registro sub eax,edx Desplazamiento (Directo) add [2C00h],ecx

33 Modos de direccionamiento indirecto Base inc [edx] Base + desplazamiento push ebp ;resguardamos ebp mov ebp,esp ;lo apuntamos a la pila mov eax,[ebp+12] ;extraemos el parámetro que está ;12 bytes hacia el fondo de la pila.

34 Modos de direccionamiento indirecto (2) Indexado mov ecx, size tabla mov esi, tabla mas: and [esi],0xfe inc esi loop mas Indexado + desplazamiento and [esi + 4],0xFE

35 Modos de direccionamiento indirecto (3) Base + Indexado * escala mov ebx, 0x0B8000 col: mov ecx, size row xor edi, edi row: mov [ebx + edi * 2 ], 70h inc edi loop row add ebx, 160 cmp ebx, 0x0B9000 jle col ; Base buffer video. ; Video Inverso ; edi apunta al siguiente ; elemento de 2 bytes ; si CX = 0 completó fila ; fin del buffer?

36 Cálculo de la dirección efectiva

37 Tipos de datos

38 Datos en memoria

39 Números enteros

40 Números de punto flotante (IEEE 754)

41 Set de instrucciones Leer capítulo 5 del IA-32 Intel Architecture Software Developer s Manual (Volume 1: Basic Architecture)

42 Movimiento de Datos Movimientos MOV Movimiento Condicional CMOV Exchange XCHG, BSWAP, CMPXCHG, CMPXCHG8B

43 Movimiento de Datos (2) Manipulación de la pila PUSH y POP PUSHA y POPA ENTER y LEAVE Conversión de tipos CBW, CWD, CWDE

44 Aritmética Binaria Suma y Resta ADD, ADC, SUB, SBB Incremento y decremento INC, DEC Comparación CMP, NEG Multiplicación y División MUL, DIV, IMUL, IDIV

45 Aritmética Decimal Ajustes decimales para números BCD empaquetados DAA DAS Ajustes decimales para números BCD Desempaquetados AAA AAS AAM AAD

46 Lógicas AND OR XOR

47 Shift y Rotate SHR SAR SHL/SAL SHRD SHLD ROL ROR RAL RAR

48 Bits y Bytes BT, BTS, BTR, BTC BSF, BSR TEST SET

49 Transferencias Incondicionales JMP, CALL, RET, INT, IRET Condicionales Jcc (cc = condición) LOOP JECXZ JCXZ INTO

50 Strings MOVSB, MOVSW, MOVSD SCAB, SCAW, SCAD STOSB, STOSW, STOSD LODSB, LODSW, LODSD CMPSB, CMPSW, CMPSD Prefijos de repetición REP REPZ, REPE REPNZ, REPNE

51 Entrada / Salida IN OUT INSB, INSW, INSD OUTSB, OUTSW, OUTSD

52 Control de Flags Carry STC, CLC, CMC Direction Flag CLD, STD Registro EFLAGS LAHF, SAHF, PUSHF, POPF, PUSHFD, POPFD Flag de Interrupciones CLI, STI

53 Operaciones con registros de segmento MOV y POP. El operando destino puede ser DS, ES, SS, FS, o GS (registros de segmento), pero no CS JMP, CALL far, RET far, INT y IRET. Alteran CS BOUND LDS, LES, LSS, LFS, LGS. Cargan punteros

54 Misceláneas LEA XLAT, XLATB CPUID NOP UD2

55 Llamadas a subrutinas Se realizan mediante la instrucción CALL Cuando finaliza la subrutina se ejecuta RET para volver al flujo de programa desde el que se realizó la llamada vía CALL El stack es un espacio lineal de direcciones, allí se almacena la dirección de retorno Las operaciones son con words o dwords dependiendo del tipo de segmento definido (16 o 32 bits) El stack debe estar alineado a word o dword según el tipo de segmento

56 Stack en llamadas a subrutina

57 Llamadas FAR y NEAR en IA-32

58 Referencias Intel R 64 and IA-32 Architecture Software Developer s Manual Volume 1: Basic Architecture. Capítulos 1 a 5 Intel R 64 and IA-32 Architecture Software Developer s Manual Volume 2A: Instruction Set Reference A-M Intel R 64 and IA-32 Architecture Software Developer s Manual Volume 2B: Instruction Set Reference N-Z

Antecedentes. Año 1978: Se lanza la familia iapx86. Procesador 8086: 16 bits 8 meses después: Procesador Ídem 8086 pero bus externo = 8 bits

Antecedentes. Año 1978: Se lanza la familia iapx86. Procesador 8086: 16 bits 8 meses después: Procesador Ídem 8086 pero bus externo = 8 bits Arquitectura IA-32 Antecedentes Año 1978: Se lanza la familia iapx86 Procesador 8086: 16 bits 8 meses después: Procesador 8088. Ídem 8086 pero bus externo = 8 bits Compromiso público de compatibilidad

Más detalles

Antecedentes. Año 1978: Se lanza la familia iapx86. Procesador 8086: 16 bits 8 meses después: Procesador Ídem 8086 pero bus externo = 8 bits

Antecedentes. Año 1978: Se lanza la familia iapx86. Procesador 8086: 16 bits 8 meses después: Procesador Ídem 8086 pero bus externo = 8 bits Arquitectura IA-32 Antecedentes Año 1978: Se lanza la familia iapx86 Procesador 8086: 16 bits 8 meses después: Procesador 8088. Ídem 8086 pero bus externo = 8 bits Compromiso público de compatibilidad

Más detalles

Arquitectura IA-32. Autor:Alejandro Furfaro 1

Arquitectura IA-32. Autor:Alejandro Furfaro 1 Arquitectura IA-32 Autor:Alejandro Furfaro 1 Antecedentes Año 1978: Se lanza la familia iapx86 Procesador 8086: 16 bits 8 meses después: Procesador 8088. Ídem 8086 pero bus externo = 8 bits Compromiso

Más detalles

Resumen de las instrucciones del 8086/8088

Resumen de las instrucciones del 8086/8088 Resumen de las instrucciones del 8086/8088 En este capítulo se hace un resumen de las instrucciones del 8086/8088. Estas instrucciones se encuentran explicadas más detalladamente en otro capítulo. Se puede

Más detalles

CONJUNTO DE INSTRUCCIONES µp8086

CONJUNTO DE INSTRUCCIONES µp8086 CONJUNTO DE INSTRUCCIONES µp8086 Se llama INSTRUCCIÓN a las palabras reservadas ó MNEMÓNICOS en ensamblador, los cuales se traducen a lenguaje máquina para su posterior ejecución por parte de la CPU. Existen

Más detalles

Intel 8086. Arquitectura. Programación en Ensamblador Ing. Marcelo Tosini - 2001

Intel 8086. Arquitectura. Programación en Ensamblador Ing. Marcelo Tosini - 2001 Intel 8086 Arquitectura Características generales Procesador de 16 bits Bus de direcciones de 20 bits : 1 Mbyte Bus de datos interno de 16 bits Bus de datos externo de 16 bits en el 8086 8 bits en el 8088

Más detalles

ITT-327-T Microprocesadores

ITT-327-T Microprocesadores ITT-327-T Microprocesadores Lenguaje de Programación Ensamblador. Set de Instrucciones del 8088/8086. El set de instrucciones de un microprocesador define las operaciones básicas que el programador puede

Más detalles

PRONTUARIO I. INFORMACIÓN GENERAL

PRONTUARIO I. INFORMACIÓN GENERAL UNIVERSIDAD INTERAMERICANA DE PUERTO RICO RECINTO METROPOLITANO FACULTAD DE CIENCIAS Y TECNOLOGÍA DEPARTAMENTO DE CIENCIAS DE COMPUTADORAS Y MATEMÁTICAS PRONTUARIO I. INFORMACIÓN GENERAL Título del Curso:

Más detalles

REPERTORIO DE INSTRUCCIONES DEL MICROPROCESADOR 8086

REPERTORIO DE INSTRUCCIONES DEL MICROPROCESADOR 8086 REPERTORIO DE INSTRUCCIONES DEL MICROPROCESADOR 8086 INSTRUCCIONES DE TRANSFERENCIA: NINGUNA INSTRUCCIÓN DE TRANSFERENCIA AFECTA AL REGISTRO DE ESTADO (SALVO LAS EXPLÍCITAS CON EL REGISTRO DE ESTADO) A)

Más detalles

Arquitectura IA-32 Pila. Autor:Alejandro Furfaro

Arquitectura IA-32 Pila. Autor:Alejandro Furfaro Arquitectura IA-32 Pila 1 Cuando se usa la pila? Cuando llamamos a una subrutina desde un programa en Assembler, mediante la instrucción CALL Cuando el hardware mediante la interfaz adecuada envía una

Más detalles

El Diseño de un Lenguaje Máquina

El Diseño de un Lenguaje Máquina Arquitectura de Ordenadores Juego de Instrucciones del Procesador Intel Pentium Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática El Diseño de un Lenguaje

Más detalles

CONJUNTO DE INSTRUCCIONES Microprocesador 8086

CONJUNTO DE INSTRUCCIONES Microprocesador 8086 CONJUNTO DE INSTRUCCIONES Microprocesador 8086 Clasificación: TRANSFERENCIA DE DATOS ARITMÉTICAS LÓGICAS TRANSFERENCIA DE CONTROL MANEJO DE CADENAS CONTROL DE MAQUINA ENTRADA/SALIDA El formato general

Más detalles

La Pila en los Procesadores IA-32 e Intel c 64

La Pila en los Procesadores IA-32 e Intel c 64 La Pila en los Procesadores IA-32 e Intel c 64 Alejandro Furfaro Ilustraciones de David Gonzalez Marquez (tnx a lot) Abril 2012 Abril 2012 1 / 44 Agenda 1 Funcionamiento Básico 2 Ejemplos de uso de pila

Más detalles

Procesadores de 64 bits

Procesadores de 64 bits Procesadores de 64 bits Técnicas Digitales III Ing. Gustavo Nudelman 2013 Introducción Desarrollada por AMD en 2003 con el modelo Opteron, continuando con el Athlon para ser luego tomado por Intel en los

Más detalles

Fecha de elaboración: 28 Mayo de 2010 Fecha de última actualización:

Fecha de elaboración: 28 Mayo de 2010 Fecha de última actualización: PROGRAMA DE ESTUDIO Programa Educativo: Área de Formación : Licenciatura en Sistemas Computacionales Integral profesional Programa elaborado por: Lenguaje ensamblador Horas teóricas: 2 Horas prácticas:

Más detalles

Aprendiendo Sistemas Operativos: Programación de Procesadores de Arquitectura IA-32

Aprendiendo Sistemas Operativos: Programación de Procesadores de Arquitectura IA-32 Aprendiendo Sistemas Operativos: Programación de Procesadores de Arquitectura IA-32 Este documento forma parte de la serie Aprendiendo Sistemas Operativos y sirve como una introducción a los aspectos básicos

Más detalles

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones Introducción a la Computación Capítulo 10 Repertorio de instrucciones: Características y Funciones Que es un set de instrucciones? La colección completa de instrucciones que interpreta una CPU Código máquina

Más detalles

Repertorio de Instrucciones del 8086/8088

Repertorio de Instrucciones del 8086/8088 Repertorio de Instrucciones del 8086/8088 A continuación se desribe el repertorio de instrucciones del 8086/8088. Estas instrucciones se encuentran más detalladas en [Rod00] y [PCG00]. AAA Ajuste ASCII

Más detalles

Intel Arquitectura. Programación en Ensamblador Ing. Marcelo Tosini

Intel Arquitectura. Programación en Ensamblador Ing. Marcelo Tosini Intel 80386 Arquitectura Características generales Procesador de 32 bits Bus de direcciones de 32 bits : 4 Gbyte Bus de datos interno de 32 bits primer procesador de 32 bits de Intel 138 instrucciones

Más detalles

Programación de IA-32 Modo Real

Programación de IA-32 Modo Real Programación de IA-32 Modo Real Control del flujo de la ejecución Erwin Meza Vega IA-32 Modo real (1/2) Acceso sólo a características limitadas del procesador Se comporta como un 8086 muy rápido Uso de

Más detalles

Arquitectura IA-32 Modo Real. Autor:Alejandro Furfaro

Arquitectura IA-32 Modo Real. Autor:Alejandro Furfaro Arquitectura IA-32 Modo Real 1 Modo Real En este modo de operación el procesador presenta de manera exacta el entorno de ejecución de un 8086, con algunas extensiones. 15 Extensión Nº1: El El modelo de

Más detalles

Arquitectura IA-32 Modo Real. Autor:ALejandro Furfaro

Arquitectura IA-32 Modo Real. Autor:ALejandro Furfaro Arquitectura IA-32 Modo Real 1 Modo Real: Entorno de ejecución en 16 bits En este modo de operación el procesador presenta de manera exacta el entorno de ejecución de un 8086 (compatibilidad), con algunas

Más detalles

Cuadro Comparativo Registros de Microprocesadores

Cuadro Comparativo Registros de Microprocesadores Arquitectura de Computadoras Cuadro Comparativo Registros de Microprocesadores Unidad 2 Diana Cecilia Ramírez Ramírez Miguel Angel Chávez Reza I n s t i t u t o T e c n o l ó g i c o d e C h i h u a h

Más detalles

Fig. 1: Tipos de datos que puede manejar el procesador

Fig. 1: Tipos de datos que puede manejar el procesador 1. Introducción 2. Registros internos 3. Almacenamiento de datos 4. Modos de direccionamiento 5. Juego de Instrucciones 6. Etiquetas, cometarios y directivas 7. Problemas 1. Introducción El lenguaje ensamblador

Más detalles

Estructura de Computadores: Tema 1. Introducción. Índice. Arquitectura del i8086

Estructura de Computadores: Tema 1. Introducción. Índice. Arquitectura del i8086 Estructura de Computadores: Tema 1 El procesador Introducción Estudiaremos la arquitectura del procesador i8086 (CPU, registros,...), su gestion de la memoria y su conjunto de instrucciones. Programaremos

Más detalles

Comparativas del número de ciclos de ejecución de un programa en ensamblador

Comparativas del número de ciclos de ejecución de un programa en ensamblador Trabajo evaluable 1 Comparativas del número de ciclos de ejecución de un programa en ensamblador Arquitectura de Computadores I I. T. Informática de Sistemas Curso 2009-2010 Trabajo evaluable 1: Hoja:

Más detalles

Guía práctica lenguaje ensamblador

Guía práctica lenguaje ensamblador Guía práctica lenguaje ensamblador (c) Francisco Charte Ojeda Introducción Qué es el lenguaje ensamblador? Aplicaciones de la programación en ensamblador El lenguaje ensamblador de los x86 8, 16, 32 y

Más detalles

Arquitectura de procesadores (Introducción)

Arquitectura de procesadores (Introducción) Arquitectura de procesadores (Introducción) Técnicas Digitales III Ing. Gustavo Nudelman 2013 Introducción Año 1978: Se lanza la familia iapx86 Procesador de 16 bits Compromiso público de compatibilidad

Más detalles

Arquitectura (Procesador familia 80 x 86 )

Arquitectura (Procesador familia 80 x 86 ) Arquitectura (Procesador familia 80 x 86 ) Diseño de operación Basada en la arquitectura Von Newman Memoria CPU asignadas direcciones I / O BUS: Es un canal de comunicaciones Bus de direcciones: Contiene

Más detalles

Pila / Convención C / Interacción C-ASM. Ejercicios. Pila. Organización del Computador II. 21 de marzo de 2017

Pila / Convención C / Interacción C-ASM. Ejercicios. Pila. Organización del Computador II. 21 de marzo de 2017 Organización del Computador II 21 de marzo de 2017 / / Hoy vamos a ver / / Para ponernos de acuerdo... Está en memoria. RSP y RBP la definen. Crece númericamente para atrás. / / Cómo la usamos? PUSH y

Más detalles

MICROPOCESADOR NOTAS DE CURSO (Versión 2.1)

MICROPOCESADOR NOTAS DE CURSO (Versión 2.1) MICROPOCESADOR 8086 NOTAS DE CURSO (Versión 2.1) Arquitectura de Computadores 2 Facultad de Ingeniería ÍNDICE DIRECCIONAMIENTO DE MEMORIA... 2 MODOS DE DIRECCIONAMIENTO... 3 REGISTRO... 3 VALOR o INMEDIATO...

Más detalles

Repaso Registros internos Z80 1/37

Repaso Registros internos Z80 1/37 Repaso Registros internos Z80 1/37 Repaso Formato instrucciones Formato con 4 direcciones Acumulador: A A op oper2 PC: Program Counter dirección de la próxima instrucción Instrucciones de operación Código

Más detalles

Buses y Periféricos. ITIS. Ensamblador y Turbo debugger

Buses y Periféricos. ITIS. Ensamblador y Turbo debugger BUSES Y PERIFÉRICOS (Práctica de introducción a ensamblador. Va acompañada del documento Ensamblador del 8086.doc. Su realización no cuenta para la nota de prácticas) Programación en ensamblador utilizando

Más detalles

Microprocesadores. Procesador IA-32 - Gestión de Memoria en 64 bits. Alejandro Furfaro

Microprocesadores. Procesador IA-32 - Gestión de Memoria en 64 bits. Alejandro Furfaro Microprocesadores Procesador IA-32 - Gestión de Memoria en 64 bits Alejandro Furfaro Mayo de 2012 Temario 1 Segmentación Generalidades Sub Modos IA-32e 2 Paginación Alejandro Furfaro () Procesador IA-32

Más detalles

Arquitectura de Computadores II Clase #3

Arquitectura de Computadores II Clase #3 Arquitectura de Computadores II Clase #3 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Veremos Registros Repertorio de instrucciones Modos de direccionamiento El

Más detalles

(2) Unidad 2. Modelo de Programación del 80x86 de Intel SISTEMAS BASADOS EN MICROPROCESADORES. Grado en Ingeniería Informática EPS - UAM

(2) Unidad 2. Modelo de Programación del 80x86 de Intel SISTEMAS BASADOS EN MICROPROCESADORES. Grado en Ingeniería Informática EPS - UAM (2) Unidad 2 Modelo de Programación del 80x86 de Intel SISTEMAS BASADOS EN MICROPROCESADORES Grado en Ingeniería Informática EPS - UAM (2) Índice 2. Modelo de programación del 80x86 de Intel. 2.1. Familia

Más detalles

Sistema de protección

Sistema de protección Sistema de protección Mecanismos de protección Cuando el procesador pasa a Modo Protegido se pone en funcionamiento la Unidad de Protección. Esta Unidad supervisa las operaciones internas del procesador

Más detalles

Tema 1. Fundamentos del lenguaje ensamblador

Tema 1. Fundamentos del lenguaje ensamblador Tema 1. Fundamentos del lenguaje ensamblador Laboratorio de Estructura y Organización de Computadores Grados en Ingeniería Informática e Ingeniería de Computadores Curso 2012-2013 Índice Estructura del

Más detalles

Tema: Lenguaje ensamblador embebido

Tema: Lenguaje ensamblador embebido Compiladores. Guía 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores Tema: Lenguaje ensamblador embebido Contenido En esta guía se presenta una breve introducción a las estructuras

Más detalles

[etiqueta:] REP MOVSn

[etiqueta:] REP MOVSn INSTRUCCIONES DE CADENA Instrucción MOVSn MOVS mueve un byte, palabra o palabra doble desde una localidad en memoria a otra. Se carga la dirección de los operandos en los registros DI (Apuntador a la cadena

Más detalles

Los números naturales y enteros en el 80X86 y en LAN

Los números naturales y enteros en el 80X86 y en LAN Los números naturales y enteros en el 80X86 y en LAN 1. Los números naturales en el 80X86/TASM Representación Sistema de representación En el 80X86 (y en la mayoría de los procesadores), los números naturales

Más detalles

1. Introducción a los microprocesadores de la familia Intel 8088/8086

1. Introducción a los microprocesadores de la familia Intel 8088/8086 1. Introducción a los microprocesadores de la familia Intel 8088/8086 2 Descripción de las patas de conexión del 8088 1 2.1 Descripción de las patas en modo mínimo 2 1 Conexión en modo mínimo Vcc De lóg.

Más detalles

Intel 386. Alejandro L. Grosso. IA-32. UNSL p. 1

Intel 386. Alejandro L. Grosso. IA-32. UNSL p. 1 Alejandro L. Grosso. IA-32. UNSL. 2013 p. 1 Intel 386 El i386 ofrece una arquitectura de 32-bits: Registros de 32-bits. Direcciones de 32-bits. Un conjunto completo de instrucciones de 32-bits. Es compatible

Más detalles

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Tema 4: Familia x86 Carlos Garre 1 Familia x86 Contenidos Concepto de familia: la familia x86. Generaciones de la familia x86. Primera generación: 8086. Segunda generación: 80286. Tercera generación: 80386.

Más detalles

Objetivo. Introducción. Tema: GENERACION DE CODIGO. Compiladores, Guía 11 1

Objetivo. Introducción. Tema: GENERACION DE CODIGO. Compiladores, Guía 11 1 Compiladores, Guía 11 1 Tema: GENERACION DE CODIGO. Facultad : Ingeniería Escuela :Computación Asignatura:Compiladores Objetivo Reconocer las diferentes instrucciones para la generación de código.ensamblador

Más detalles

Arquitectura de Computadores II Clase 15

Arquitectura de Computadores II Clase 15 Arquitectura de Computadores II Clase 15 Introducción al modo protegido Facultad de Ingeniería Universidad de la República Instituto de Computación Contenido Generalidades. Modos de operación. Manejo de

Más detalles

Arquitectura intel 8086. Preámbulo de OSO para alumnos formados en el procesador MIPS. Asignatura Sistemas Operativos Murcia abril de 2005

Arquitectura intel 8086. Preámbulo de OSO para alumnos formados en el procesador MIPS. Asignatura Sistemas Operativos Murcia abril de 2005 Arquitectura intel 8086 Preámbulo de OSO para alumnos formados en el procesador MIPS Asignatura Sistemas Operativos Murcia abril de 2005 página 1. Introducción 2 2.- Direccionamiento y Registros de Segmento

Más detalles

ESTRUCTURA Y ORGANIZACIÓN DE COMPUTADORES

ESTRUCTURA Y ORGANIZACIÓN DE COMPUTADORES Instrucciones del 8088/8086. Instrucciones de trasferencia de datos. MOV MOV destino, origen Transfiere un byte o una palabra desde el operando origen al operando destino. PUSH PUSH origen Decrementa el

Más detalles

Unidad Nº II Capacidad de la unidad central. de procesamiento. Instituto Universitario Politécnico. Santiago Mariño

Unidad Nº II Capacidad de la unidad central. de procesamiento. Instituto Universitario Politécnico. Santiago Mariño Instituto Universitario Politécnico Santiago Mariño Unidad Nº II Capacidad de la unidad central de procesamiento Organización de instrucción de máquina Cada instrucción requiere la información que necesita

Más detalles

Estructura de Computadores. Problemas de Instrucciones y Direccionamientos

Estructura de Computadores. Problemas de Instrucciones y Direccionamientos Estructura de Computadores. Problemas de Instrucciones y Direccionamientos Departamento de Arquitectura y Tecnología de Sistemas Informáticos Octubre 2009 1. Sea un computador con palabras y direcciones

Más detalles

Arquitectura de Computadores II. Arquitectura Intel 32 y modo protegido

Arquitectura de Computadores II. Arquitectura Intel 32 y modo protegido Arquitectura Intel 32 y modo protegido Facultad de Ingeniería Universidad de la República Instituto de Computación Contenido Resumen del obligatorio 2 Arquitectura Intel 32 Introducción al modo protegido

Más detalles

Tema 4. Fundamentos del ensamblador

Tema 4. Fundamentos del ensamblador Tema 4. Fundamentos del ensamblador Laboratorio de Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 2008-2009 Transparencia: 2 / 30 Índice Filosofía de programación Organigramas

Más detalles

Instrucciones de manejo de cadenas

Instrucciones de manejo de cadenas Instrucciones de manejo de cadenas Nombre: Formato: MOVS/MOVSB/MOVSW (MOV BYTE/WORD STRING) MOVS destino, fuente MOVSB/MOSW Descripción: Transfiere el byte o la palabra apuntada por DS:SI al byte o palabra

Más detalles

INSTITUTO TECNOLÓGICO DE CHIHUAHUA II ARQUITECTURA DE COMPUTADORAS MAESTRO: ERNESTO LEAL ALUMNOS: LUIS CARLOS BARRERA ORTIZ STHEPANIE FLORES GUILLEN

INSTITUTO TECNOLÓGICO DE CHIHUAHUA II ARQUITECTURA DE COMPUTADORAS MAESTRO: ERNESTO LEAL ALUMNOS: LUIS CARLOS BARRERA ORTIZ STHEPANIE FLORES GUILLEN INSTITUTO TECNOLÓGICO DE CHIHUAHUA II ARQUITECTURA DE COMPUTADORAS MAESTRO: ERNESTO LEAL ALUMNOS: LUIS CARLOS BARRERA ORTIZ STHEPANIE FLORES GUILLEN En este cuestionario de estudiaran los microprocesadores

Más detalles

Conmutación de Tareas

Conmutación de Tareas Conmutación de Tareas Conmutación de tareas Expira el tiempo de ejecución asignado por el procesador a la tarea N El procesador almacena en memoria el estado de máquina (contexto) de la tarea N. El procesador

Más detalles

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 1 - INTRODUCCIÓN JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 1 - INTRODUCCIÓN JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ ARQUITECTURAS DE COMPUTADORES 2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 1 - INTRODUCCIÓN JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 1.MaNoTaS 1 Definiciones (I) Descripción Un

Más detalles

Arquitectura Interna del 8088

Arquitectura Interna del 8088 Arquitectura Interna del 8088 Intel diseñó el 8088/8086 para realizar al mismo tiempo las principales funciones internas de transferencia de datos y búsqueda de instrucciones. Para conseguir esto, el 8088

Más detalles

Conceptos de Arquitectura de Computadoras Curso 2015

Conceptos de Arquitectura de Computadoras Curso 2015 PRACTICA 1 Assembly, Instrucciones, Programas, Subrutinas y Simulador MSX88 Objetivos: que el alumno Domine las instrucciones básicas del lenguaje assembly del MSX88. Utilice los diferentes modos de direccionamiento.

Más detalles

Introducción a SIMD. Organización del Computador II. Gonzalo Ciruelos Departamento de Computación

Introducción a SIMD. Organización del Computador II. Gonzalo Ciruelos Departamento de Computación Organización del Computador II Departamento de Computación 2017-09-05 Procesamiento vectorial, qué vamos a ver? Single Instrucction, Single Data vs Single Instruction, Multiple Data Procesamiento vectorial,

Más detalles

El microprocesador de 16 bits 8086

El microprocesador de 16 bits 8086 INTRODUCCIÓN El microprocesador de 16 bits 8086 En 1978 Intel sacó al mercado el 8086, con un bus de datos de 16 bits y capaz de direccionar hasta 1 Mb de memoria. La importancia del 8086 se debe a que

Más detalles

Intel 8086 modelo básico (primera parte) Registros:

Intel 8086 modelo básico (primera parte) Registros: Intel 8086 modelo básico (primera parte) Registros: Uso general: AX, BX, CX, DX, SI, DI, BP. Uso con direccionamento especial: SP, IP. Registros de segmento: CS, SS, DS, ES. Modelo de los registros: 20

Más detalles

USO DE MEMORIA Y PERIFÉRICOS CON EMU8086. Kervin Sánchez Herrera.

USO DE MEMORIA Y PERIFÉRICOS CON EMU8086. Kervin Sánchez Herrera. USO DE MEMORIA Y PERIFÉRICOS CON EMU8086 Kervin Sánchez Herrera. Estructura del Computador MEMORIA Uso de Memoria La memoria ROM ya está escrita y contiene el programa BOOT de inicio, este programa se

Más detalles

Tema 4. Lenguaje máquina y lenguaje ensamblador

Tema 4. Lenguaje máquina y lenguaje ensamblador Tema 4. Lenguaje máquina y lenguaje ensamblador Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 2008-2009 Transparencia: 2 / 47 Índice Introducción Juego de instrucciones Estructura

Más detalles

Examen de teoría (5 puntos)

Examen de teoría (5 puntos) Examen de Estructura de Computadores. Septiembre de 25 Bien: Mal: No contestadas: Examen de teoría (5 puntos) El examen constará de dos partes: El examen tendrá una duración total de 2 horas. La nota final

Más detalles

Segmentacion e Interrupciones en IA-32

Segmentacion e Interrupciones en IA-32 Segmentacion e Abril 2013 Segmentacion e Acceso a memoria en Modo Progetigo (IA-32) El acceso a memoria es por segmentación, de manera similar a como lo hacen en modo real. La diferencia está en la definición

Más detalles

Repaso concepto de programa

Repaso concepto de programa Repaso concepto de programa ANTES se tenían sistemas cableados Datos Secuencia de funciones aritmético/lógicas Resultados Programación en hardware: cuando cambiamos las tareas, debemos cambiar el hardware

Más detalles

Tema 4. La pila, los procedimientos y las macros

Tema 4. La pila, los procedimientos y las macros Tema 4. La pila, los procedimientos y las macros Laboratorio de Estructura y Organización de Computadores Grados en Ingeniería Informática e Ingeniería de Computadores Curso 2012-2013 2010-2011 Índice

Más detalles

Operaciones lógicas y repetición

Operaciones lógicas y repetición Organización de computadoras Universidad Nacional de Quilmes http:// Repaso Algebra de Boole Memoria principal datos direcciones Unidad Aritmético- Logica (ALU) Unidad de Control de programa (UC) CPU 1

Más detalles

adreça lògicacontingut (en hexadecimal) dels 8 bytes a partir de l adreça lògica

adreça lògicacontingut (en hexadecimal) dels 8 bytes a partir de l adreça lògica Solución al Problema 1 a) Suponer los siguientes contenidos de memoria: adreça lògicacontingut (en hexadecimal) dels 8 bytes a partir de l adreça lògica 0020h:0008h FC 00 1A 23 19 00 20 00 0020h:0010h

Más detalles

Práctica 3: Programación en ASM Orga 1

Práctica 3: Programación en ASM Orga 1 Ignacio Eguinoa Organización del Computador I DC - UBA Segundo Cuatrimestre de 2015 Generaciones de lenguajes 1G: Lenguaje de máquina(código binario de operaciones) 2G: Lenguaje Ensamblador(Assembly) (Textual

Más detalles

MANUAL DE PROGRAMACIÓN EN ENSAMBLADOR 8086

MANUAL DE PROGRAMACIÓN EN ENSAMBLADOR 8086 MANUAL DE PROGRAMACIÓN EN ENSAMBLADOR 8086 ALUMNO: SANTIAGO SÁNCHEZ GONZÁLEZ TITULACIÓN: I.T.I. SISTEMAS ARQUITECTURA DE COMPUTADORES I ÍNDICE: PÁGINA Introducción al ensamblador...2 Procesos para la creación

Más detalles

Bloques del programa de la asignatura

Bloques del programa de la asignatura Bloques del programa de la asignatura lases Enfoque Temas 1 1 oncreto Símplez y Símplez+i4 (niveles de máquina convencional y micromáquina) 11 16 General Representación y procesamiento Instrucciones y

Más detalles

Exploiting... Stack Based Buffer Overflow

Exploiting... Stack Based Buffer Overflow Exploiting... Stack Based Buffer Overflow FAMAF UNC November 10, 2015 Se puede ganar? int main () { int cookie ; char buf [80]; } gets ( buf ); // Lee hasta el primer... if ( cookie == 0 x41424344 ) printf

Más detalles

Unidad II: Programación básica

Unidad II: Programación básica Unidad II: Programación básica 2.1 Ensamblador (y ligador) a utilizar Aunque todos los ensambladores realizan básicamente las mismas tareas, podemos clasificarlos de acuerdo a características. Así podemos

Más detalles

ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones

ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones Instruction Set Architecture (ISA) Arquitectura del conjunto de instrucciones software Conjunto de instrucciones hardware Universidad

Más detalles

Conmutación de Tareas

Conmutación de Tareas Conmutación de Tareas Conmutación de tareas Expira el tiempo de ejecución asignado por el procesador a la tarea N El procesador almacena en memoria el estado de máquina (contexto) de la tarea N. El procesador

Más detalles

Registros de direcciones de 32 bits A0 a A7 (A7 puntero de pila SP)

Registros de direcciones de 32 bits A0 a A7 (A7 puntero de pila SP) ARQUITECTURA Y PROGRAMACIÓN DEL MC68000 MC68000 Bus datos (16) Bus direcciones (24) Registro de datos (8) de 32 bits Registros direcciones (8) de 32 bits Operandos Regular Gran ortogonalidad D0..D15 A1..A23,

Más detalles

Repertorio de instrucciones x86-16bits Índice

Repertorio de instrucciones x86-16bits Índice Índice 1. Generalidades 2. Instrucciones de transferencia 3. Instrucciones de proceso 4. Instrucciones de bifurcación 5. Otras instrucciones 1/145 1. Generalidades No se pueden realizar operaciones donde

Más detalles

Organización de Computadoras. Clase 8

Organización de Computadoras. Clase 8 Organización de Computadoras Clase 8 Temas de Clase Organización de Registros Instrucciones Notas de Clase 8 2 Organización de registros Registros visibles al usuario: son utilizados por el programador.

Más detalles

Construyendo Programas más Complejos

Construyendo Programas más Complejos Arquitectura de Ordenadores Construcciones de Alto Nivel en Ensamblador Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Construyendo Programas más

Más detalles

Gestión de Memoria e Interrupciones en modo protegido

Gestión de Memoria e Interrupciones en modo protegido Gestión de Memoria e Interrupciones en modo protegido Acceso a memoria en MP (32 bits) Para acceder a la memoria los segmentos seguirán trabajando con segmentos, de manera similar a como lo hacen en modo

Más detalles

Entorno de Ejecución del Procesador Intel Pentium

Entorno de Ejecución del Procesador Intel Pentium Arquitectura de Ordenadores Arquitectura del Procesador Intel Pentium Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Entorno de Ejecución del Procesador

Más detalles

Aprendiendo Sistemas Operativos: Programación de Procesadores de Arquitectura IA-32

Aprendiendo Sistemas Operativos: Programación de Procesadores de Arquitectura IA-32 Aprendiendo Sistemas Operativos: Programación de Procesadores de Arquitectura IA-32 Este documento forma parte de la serie Aprendiendo Sistemas Operativos y sirve como una introducción a los aspectos básicos

Más detalles

Arquitectura de Computadoras

Arquitectura de Computadoras 4-1 Arquitectura de Computadoras Tema 4: Arquitectura del Set de Instrucciones Eduardo Daniel Cohen dcohen@arnet.com.ar http://www.herrera.unt.edu.ar/arqcom 4-2 Arquitectura del Set de Instrucciones Indice

Más detalles

Tema 2 INSTRUCCIONES DE UN COMPUTADOR. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía

Tema 2 INSTRUCCIONES DE UN COMPUTADOR. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía Tema 2 INSTRUCCIONES DE UN COMPUTADOR ÍNDICE Definiciones Formatos de instrucción Modos de direccionamiento Tipos de instrucciones Diagrama de flujo Lenguaje del computador Definiciones: conceptos de arquitectura

Más detalles

2014 Mario Medina C. 1

2014 Mario Medina C. 1 Arquitectura x86 de 32 bits Conjunto de instrucciones x86-64 Sistemas Computacionales Mario Medina C. mariomedina@udec.cl Arquitectura de conjunto de instrucciones Intel IA32 Conocida como Intel x86 de

Más detalles

Arquitectura de Computadores

Arquitectura de Computadores Arquitectura de Computadores 1. Introducción 2. La CPU 3. Lenguaje Máquina 4. La Memoria 5. Sistemas de Entrada/Salida 6. Segmentación (Pipeline) 7. Memoria Caché 8. Arquitecturas RISC Arquitectura de

Más detalles

Organización del Computador I 1er. Parcial 17-Mayo-2005. Turno:

Organización del Computador I 1er. Parcial 17-Mayo-2005. Turno: Nota: En el parcial se puede tener la cartilla de Assembler y la de seguimiento (formatos de instrucción) pero no se pueden compartir. Para aprobar el parcial, son necesarios 6(seis) puntos. Para promocionar,

Más detalles

Manejo Básico de Tareas y Scheduler

Manejo Básico de Tareas y Scheduler y Scheduler 30 de Octubre de 2018 Introducción: Tareas Una tarea/task es una unidad de trabajo que el procesador puede despachar, ejecutar y suspender. La tarea se suele usar para ejecutar una instancia

Más detalles

Trabajo Práctico Nro 5 Pase de Parámetros e Instrucciones de Cadena

Trabajo Práctico Nro 5 Pase de Parámetros e Instrucciones de Cadena Instrucciones de Cadena Pase de parámetros Introducción El envío de parámetros a una función de asembler es un problema que nos enfrentamos comúnmente a la hora de desarrollar un software en este lenguaje,

Más detalles

Fundamentos de Arquitectura y Código Máquina

Fundamentos de Arquitectura y Código Máquina Fundamentos de Arquitectura y Código Máquina Lección 3 Ing. Jorge Castro-Godínez MT7003 Microprocesadores y Microcontroladores Área de Ingeniería Mecatrónica Instituto Tecnológico de Costa Rica I Semestre

Más detalles

Instrucciones de Control de Flujo y Usos de la Pila

Instrucciones de Control de Flujo y Usos de la Pila 1 Instrucciones de Control de Flujo y Usos de la Pila Objetivos Generales Facultad: Estudios Tecnologicos. Escuela: Electrónica Asignatura: Microprocesadores Analizar la forma en que se ejecutan algunas

Más detalles

Computadores y Comunicaciones. Tema 5: Software y sistemas operativos

Computadores y Comunicaciones. Tema 5: Software y sistemas operativos Computadores y Comunicaciones Tema 5: Software y sistemas operativos Febrero, 2011 Jorge Juan Chico , Julián Viejo Cortés Departamento de Tecnología Electrónica Universidad

Más detalles

Arquitectura de Computadores II Clase #3

Arquitectura de Computadores II Clase #3 Clase #3 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Veremos Registros Repertorio de instrucciones Modos de direccionamiento El stack Formatos de datos Control

Más detalles

Práctica 3 - Arquitectura del CPU

Práctica 3 - Arquitectura del CPU Práctica 3 - Arquitectura del CPU Organización del Computador 1 Primer cuatrimestre de 2012 Ejercicio 1 A partir de cada uno de los siguientes vuelcos parciales de memoria y estados del procesador, realizar

Más detalles

Ensamblador. Introducción. Dpto. Física y Arquitectura de Computadores. Universidad Miguel Hernandez

Ensamblador. Introducción. Dpto. Física y Arquitectura de Computadores. Universidad Miguel Hernandez Dpto. Física y Arquitectura de Computadores Universidad Miguel Hernandez Es el lenguaje de más bajo nivel que admite una máquina. El ensamblador hace que el código binario(máquina sea transparente al usuario)

Más detalles

Organización del Computador 1. CPU (ISA) Conjunto de Instrucciones de la Arquitectura 2017

Organización del Computador 1. CPU (ISA) Conjunto de Instrucciones de la Arquitectura 2017 Organización del Computador 1 CPU (ISA) Conjunto de Instrucciones de la Arquitectura 2017 Estructura de una máquina von Neumann Ciclo de Ejecución 1. 2. 3. 4. 5. 6. UC obtiene la próxima instrucción de

Más detalles

Organización de computadoras. Clase 6. Universidad Nacional de Quilmes. Lic. Martínez Federico

Organización de computadoras. Clase 6. Universidad Nacional de Quilmes. Lic. Martínez Federico Organización de computadoras Clase 6 Universidad Nacional de Quilmes Lic. Martínez Federico Qué vimos? Pila Push Pop Modularizar Reusar Call y Ret Q5 Qué vimos? JMP y CALL no son lo mismo? NO Qué hay para

Más detalles