Practica 3. Gestión básica de interrupciones, excepciones y traps.
|
|
- Daniel Guzmán Cano
- hace 6 años
- Vistas:
Transcripción
1 Practica 3. Gestión básica de interrupciones, excepciones y traps. 1. Objetivo En esta práctica se pretende que el alumno comprenda los mecanismos hardware que dan soporte a interrupciones, excepciones y traps, de forma que sea capaz de definir y utilizar rutinas básicas para su gestión. El dominio de estás rutinas permitirá al alumno entender como, a partir de ellas, se pueden definir otros servicios de más alto nivel propios de los sistemas software empotrados (drivers de dispositivos o llamadas al sistema), y como tratar las situaciones excepcionales que se pueden producir durante su ejecución. 2. Introducción Los mecanismos de atención a los eventos (interrupciones, excepciones y traps) que proporcionan los procesadores facilitan el acceso a los recursos del sistema de forma protegida, asegurando su integridad frente a los usos inadecuados. Por una parte, mediante instrucciones tipo TRAP (también llamadas interrupciones software) el usuario puede solicitar servicios que fueron configurados durante la etapa de inicialización del sistema. Estos servicios permiten gestionar abstracciones tales como los sistemas de archivos, los procesos o el acceso a puertos de comunicación. El mecanismo de las interrupciones, por su parte, permite a los dispositivos externos solicitar la atención del procesador, con el fin de que se ejecute una rutina como respuesta a su petición. Gracias a este mecanismo es posible evitar el control por sondeo de los trabajos asignados a los dispositivos. Las excepciones, finalmente, permiten definir qué hacer cuando el procesador se encuentra en un estado no estable como cuando ejecuta una instrucción cuyo código no es válido, o se produce una división por cero o un overflow en las instrucciones de operación aritmética. Llamada al sistema TA 2 JMP %l1 LD [ %l5 ], %l7 SDIV %l1, %l2, %l1 Registro de instrucciones Excepción! si %l2 es 0 Procesador Dispositivo Interrupción! Figura 1. Mecanismos de atención a eventos proporcionados por el procesador. Óscar Rodríguez Polo
2 3. Tabla de Vectores de Interrupción La tabla de vectores de interrupción es una zona de memoria en la que el procesador localiza el código a ejecutar cuando se produce una interrupción, una excepción o se ejecuta una instrucción de tipo TRAP. La estructura de esta tabla depende de cada procesador, y puede tener tamaños muy diferentes en función de si se trata de un procesador de propósito general o de una pequeña CPU de 8 bits integrada en un microcontrolador. La figura 2 muestra una estructura de tabla de vectores de interrupción genérica donde cada evento es antendido por el procesador ejecutando el manejador cuya dirección se encuentra almacenada en el propio vector. Excepciones Nº vector Vector de Interrupción Manejadores de Excepción... Manejadores de Interrupción HW IRQs Rut. Serv. SC 1 TRAPS Dir Gestor llamadas Sistema Gestor de llamadas Sistema... Rut. Serv. SC 2 Rut. Serv. SC 3 Rut. Serv. SC N Figura 2. Tabla genérica de vectores de interrupción. Esta tabla debe ser configurada durante la inicialiación del sistema (en el caso de contar con un Sistema Operativo, será éste el que se encarge de fijar la configuración inicial). De esta forma, al ejecutarse posteriormente las aplicaciones el sistema ya será estable, y tendrá una respuesta controlada a cualquier evento que pueda ocurrir. Óscar Rodríguez Polo
3 Una configuración que los sistemas operativos emplean habitualmente es la de utilizar un único vector de la tabla para gestionar todas las llamadas al sistema. Una rutina, denominada gestor de llamadas al sistema, centraliza todas las peticiones, y en función de un parámetro recibido (bien a través de un registro predeterminado, bien a través de la pila) identifica la llamada al sistema solicitada, e invoca a su rutina de servicio. 4. Tabla de Vectores de Interrupción del procesador LEON3 El procesador LEON3 presenta una estructura de tabla de vectores de interrupción en la que cada elemento de la tabla no es una dirección a la que saltar, sino un conjunto de 4 instrucciones que el procesador ejecuta diréctamente cada vez que se produce el evento. Nº vector Vector de Interrupción X Instrucción-1 Instrucción-2 Instrucción-3 Instrucción-4 Esta estructura permite definir una respuesta rápida al evento. Sin embargo, cuando la respuesta es compleja, es necesario saltar a una rutina para poder definir la respuesta. La siguiente configuración de un vector, define cuatro instrucciones que permiten saltar a una función denominada handler,guardando en el registro %l0 el registro de estado %psr, y en el registro %l3 el número del vector. Ambos registros podrán ser utilizados por la rutina handler para realizar un tratamiento adecuado al evento. Vector de Interrupción rd %psr,%10 sethi %hi(handler), %l4 jmp %l4 + %lo(handler) mov vector,%l3 Para poder manejar mejor la gestión de esta tabla de vectores de interrupción, es de gran utilidad definirse funciones que, a partir de el número del vector, y de un puntero a la rutina, gestione la forma en la que esta tabla debe completarse. Un prototipo de función con estas caractarísticas sería el siguiente: void leon3_install_handler( uint32_t vector_num, void (* handler) (void)) El parámetro vector_num corresponde al número de vector, mientras que handler es el puntero a la función que queremos que se invoque cuando se atiende al evento. Óscar Rodríguez Polo
4 La siguiente figura muestra la tabla de vectores de interrupción del procesador LEON3, donde TT indica el número de vector, Trap el evento al que está asociado el vector (puede ser una excepción, una interrupción hardware o un trap provocado por una instrucción) y Pri la prioridad con la que se atiende al evento. Las primeras 15 entradas corresponden a excepciones del procesador, las 15 siguientes son interrupciones externas, mientras que el rango definido por 0x80-0xFF está reservado para ser invocado a través de la instrucción TRAPS Trap TT Pri Description reset 0x00 1 Power-on reset write error 0x2b 2 write buffer error during data store instruction_access_error 0x01 3 Error during instruction fetch illegal_instruction 0x02 5 UNIMP or other un-implemented instruction privileged_instruction 0x03 4 Execution of privileged instruction in user mode fp_disabled 0x04 6 FP instruction while FPU disabled cp_disabled 0x24 6 CP instruction while Co-processor disabled watchpoint_detected 0x0B 7 Hardware breakpoint match window_overflow 0x05 8 SAVE into invalid window window_underflow 0x06 8 RESTORE into invalid window register_hadrware_error 0x20 9 register file EDAC error (LEON-FT only) mem_address_not_aligned 0x07 10 Memory access to un-aligned address fp_exception 0x08 11 FPU exception cp_exception 0x28 11 Co-processor exception data_access_exception 0x09 13 Access error during data load, MMU page fault tag_overflow 0x0A 14 Tagged arithmetic overflow divide_exception 0x2A 15 Divide by zero interrupt_level_1 0x11 31 Asynchronous interrupt 1 interrupt_level_2 0x12 30 Asynchronous interrupt 2 interrupt_level_3 0x13 29 Asynchronous interrupt 3 interrupt_level_4 0x14 28 Asynchronous interrupt 4 interrupt_level_5 0x15 27 Asynchronous interrupt 5 interrupt_level_6 0x16 26 Asynchronous interrupt 6 interrupt_level_7 0x17 25 Asynchronous interrupt 7 interrupt_level_8 0x18 24 Asynchronous interrupt 8 interrupt_level_9 0x19 23 Asynchronous interrupt 9 interrupt_level_10 0x1A 22 Asynchronous interrupt 10 interrupt_level_11 0x1B 21 Asynchronous interrupt 11 interrupt_level_12 0x1C 20 Asynchronous interrupt 12 interrupt_level_13 0x1D 19 Asynchronous interrupt 13 interrupt_level_14 0x1E 18 Asynchronous interrupt 14 interrupt_level_15 0x1F 17 Asynchronous interrupt 15 trap_instruction 0x80-0xFF 16 Software trap instruction (TA) Óscar Rodríguez Polo
5 5. Creación de proyecto para LEON3 Creación de un nuevo proyecto denominado prac3 cuyo ejecutable sea para la plataforma Sparc Bare C. En ese proyecto crear dos subdirectorios include y src. En el directorio src añadir los archivos leon3_bprint.c y leon_uart.c de la práctica anterior e igualmente los archivos leon3_irqs_asm.s leon3_traps.c y leon3_irqs.c que encontrarás también en el archivo enlazado como prac3_fuentes en la página web. El contenido de cada uno de estos archivos se determina a continuación: leon3_traps.c. Implementa la función leon3_install_handler que permite instalar una rutina de atención a un evento, independientemente de si es una interrupción, un trap o una excepción. El prototipo de la función es el siguiente, donde vector_num es el número de vector y hanlder la rutina a instalar: void leon3_install_handler( uint32_t vector_num, void (* handler) (void)) leon3_irqs.c. Gestiona solamente interrupciones (no excepciones, ni traps). Implementa parcialmente las siguientes funciones: o leon3_mask_irq(int32_t irq_level) permite enmascarar uno de los 15 niveles de interrupción externa poniendo a 0 en el registro registro IMASK el bit correspondiente al nivel (este registro está ubicado en la dirección 0x ). El número de nivel debe suministrarse mediante el parámetro irq_level. o leon3_unmask_irq(int32_t irq_level) permite desenmascarar uno de los 15 niveles de interrupción externa poniendo a 1 en el registro registro IMASK el bit correspondiente al nivel. El número de nivel debe suministrarse mediante el parámetro irq_level. o leon3_force_irq(int32_t irq_level) permite forzar el disparo de uno de los 15 niveles de interrupción externa poniendo a 1 en el registro IFORDE el bit correspondiente al nivel (este registro está ubicado en la dirección 0x ). El número de nivel debe suministrarse mediante el parámetro irq_level. leon3_irqs_asm.s. Archivo en ensamblador que implementa las siguientes funciones: o leon3_trap_handler_enable_irqs rutina de atención a un trap que permite habilitar todas las interrupciones que no estén enmascaradas en el registro IMASK. o leon3_trap_handler_disable_irqs rutina de atención a un trap que permite deshabilitar todas las interrupciones, independientemente de cómo esté configurada su máscara en el registro IMASK. o leon3_sys_call_enable_irqs llamada al sistema, efectuada a través de un TRAP, que permite llamar a la rutina de atención leon3_trap_handler_enable_irqs. o leon3_sys_call_disable_irqs(void) llamada al sistema, efectuada a través de un TRAP, que permite llamar a la rutina de atención leon3_trap_handler_disable_irqs. Óscar Rodríguez Polo
6 En el directorio include añadir los archivos leon3_bprint.h y leon_uart.h de la práctica anterior. Añadir también los archivos leon3_asm.h leon3_traps.h y leon3_irqs.h que igualmente encontrarás en el archivo enlazado como prac3_fuentes en la página web. El contenido de estos tres últimos archivos es el siguiente: leon3_asm.h Macros en ensamblador de utilidad para la definición de las funciones implementadas en leon3_irqs_asm.s leon3_irqs.h Archivo para la declaración de las funciones definidas en leon3_irqs_asm.s y leon3_irqs.c leon3_traps.h Archivo para la declaración de las funciones definidas en leon3_traps.c 6. Tarea a realizar. 1. Completar las funciones leon3_mask_irq, leon3_unmask_irq y leon3_force_irq para que se gestionen de forma adecuada las máscaras y el registro que fuerza el disparo de interrupciones. 2. Implementar en el archivo leon3_bprint.c la función leon3_print_uint32 con el siguiente prototipo. Esta función implementa una función análoga a la función leon3_print_uint8 que se realizó en la práctica anterior, pero trabajando con un entero de 32 bits. (Añade esta declaración a leon3_bprint.h para que se pueda usar la función) int8_t leon3_print_uint32( uint32_t i); 3. Comprobar la valided de la implementación con el siguiente programa principal completando las partes que faltan: #include "leon3_uart.h" #include "leon3_bprint.h" #include "leon3_traps.h" #include "leon3_irqs.h" void hw_irq_vector_0x11_handler(void) } leon3_print_string( handler hw irq vector 0x11\n ); int main() { //Instalar como manejador del trap 0x83 la rutina // que habilita las interrupciones leon3_install_handler(0x83,leon3_trap_handler_enable_irqs); //Instalar el manejador del trap que 0x83 la rutina // que deshabilita las interrupciones leon3_install_handler(0x84, leon3_trap_handler_disable_irqs); Óscar Rodríguez Polo
7 } //Instalar la función hw_irq_vector_0x11_handler como // manejador del trap el manejador del trap //COMPLETAR // // //Habilitar las interrupciones leon3_sys_call_enable_irqs(); //Desenmascarar la interrupcion de nivel 1 (correspondiente //al vector 0x11) leon3_unmask_irq(1); //Fuerza la interrupción leon3_sparc_force_irq(1); return 0; Comprobar que la salida que se da por pantalla es la siguiente: hw irq level 0 handler hw irq vector Repetir la ejecución poniendo un breakpoint en las función leon3_sys_call_enable_irqs definida en leon3_irqs_asm.s. Ejecutar paso a paso para comprobar cual es el comportamiento. A qué función salta tras la instrucción en ensamblador ta? 5. Repetir la ejecución enmascarando la interrupción (usa leon3_mask_irq ) antes de leon3_sparc_force_irq(1) y comprobar que no se genera ningún mensaje por pantalla. 6. Hacer lo mismo pero llamando a leon3_sys_call_disable_irqs() en vez de a leon3_sys_call_enable_irqs() y comprobando que tampoco se genera ningún mensaje. 7. Ejecutar el siguiente código. Qué ocurre? Sabiendo que cuando se produce una división por 0 la rutina que lo gestiona llama al trap 0x82, cómo utilizarías la función leon3_install_handler para conseguir que el programa no se cuelgue y en su lugar imprima un mensaje que diga error, división por cero? int main() uint8_t i; uint8_t j; } for(i=10; i>0; i--) j=j/(i-9); Óscar Rodríguez Polo
Práctica 2. Implementación de un driver básico para la transmisión de datos a través de la UART.
Práctica 2. Implementación de un driver básico para la transmisión de datos a través de la UART. 1. Objetivo El objetivo de la siguiente práctica es el de implementar el software de control (driver) de
Estructura de los sistemas de cómputo
Estructura de los sistemas de cómputo Introducción Elementos básicos de un computador Registro del procesador Ejecución de las instrucciones Interrupciones Hardware de protección Introducción Qué es un
Interrupciones. Sistemas con Microcontroladores y Microprocesadores.
Interrupciones Sistemas con Microcontroladores y Microprocesadores http://www.herrera.unt.edu.ar/procesadores Interrupciones en la vida real 1. Un estudiante está estudiando (Ejecuta una tarea) 2. Le golpean
Cap.2. Kernel Sistemas Operativos - Viña del Mar.
Cap.2. Kernel Sistemas Operativos - Viña del Mar. Maximiliano Osorio mosorio@inf.utfsm.cl Universidad Técnica Federico Santa Maria 19 de agosto de 2017 1 / 44 Tabla de contenidos 1 Proceso Protección de
Estructura de Computadores 2 [08/09] Entrada/Salida en procesadores MIPS
Estructura de Computadores 2 [08/09] Entrada/Salida en procesadores MIPS GAC: Grupo de Arquitectura de Computadores Dpt. Electrónica e Sistemas. Universidade da Coruña. Bibliografía Computer Organization
Organización del Sistema Operativo
del Sistema Operativo Sistemas Operativos Pontificia Universidad Javeriana Febrero de 2010 del Sistema Operativo Funciones Básicas Funciones Básicas Perspectivas del Computador Responsabilidades del SO
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
Procesadores IA-32 e Intel R 64 Inicialización
Procesadores IA-32 e Intel R 64 Inicialización Alejandro Furfaro Mayo 2012 Alejandro Furfaro () Procesadores IA-32 e Intel R 64 Inicialización Mayo 2012 1 / 10 Agenda 1 Inicialización para operación en
Tratamiento de Excepciones en MIPS
Tratamiento de en MIPS Elías Todorovich Arquitectura I - Curso 2013 Riesgos de Control Las direcciones del PC no son secuenciales (PC = PC + 4) en los siguientes casos: Saltos condicionales (beq, bne)
Práctica de Arquitectura de Computadores Sistemas de Entrada/Salida: Entrada/Salida Programada Curso 2016/2017
Práctica de Arquitectura de Computadores Sistemas de Entrada/Salida: Entrada/Salida Programada Curso 2016/2017 Antonio Pérez Ambite Santiago Rodríguez de la Fuente Departamento de Arquitectura y Tecnología
TEMA 8 GESTION DE LAS INTERRUPCIONES
TEMA 8 GESTION DE LAS INTERRUPCIONES CURSO 2010/2011 GESTION DE LAS INTERRUPCIONES 1. Introducción 2. Latencias de las Interrupciones 3. Tabla de Vectores de Interrupción 4. Latch de Interrupciones (IRPTL)
T E M A 7. Interrupciones
T E M A 7 Interrupciones 7-1 Interrupciones INDICE 7.- Introducción al Tema 7-2 7.1 Interrupciones 7-2 7.1.1 Tipos de Interrupciones 7-2 a).- Interrupciones de Programa 7-2 b).- Interrupciones de Llamada
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
Microprocesadores, Tema 4:
Microprocesadores, Tema 4: Conceptos de Entrada / Salida Guillermo Carpintero Marta Ruiz Universidad Carlos III de Madrid Objetivos Concepto de Interface Modelo de los Dispositivos de Interface Técnicas
Eventos e interrupciones
Programación Concurrente en Linux Eventos e interrupciones Alberto Lafuente, Dep. KAT/ATC de la UPV/EHU, bajo Licencia Creative Commons 1 Contenido 1. Interacción en un programa: entrada/ salida 2. Eventos
Tema 3 SUBRUTINAS. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía
Tema 3 SUBRUTINAS ÍNDICE Definición e instrucciones básicas Soporte para el tratamiento de subrutinas (ejecución de la subrutina y gestión del bloque de activación) Interrupciones vs llamadas a procedimiento
9. Lenguaje ensamblador
9. Lenguaje ensamblador Lenguaje máquina: un programa o secuencia de instrucciones viene dado por una secuencia de códigos binarios. Lenguaje ensamblador: secuencia lógica de sentencias pertenecientes
Tema 3: Microprocesador ColdFire MCF5282
Tema 3: Microprocesador ColdFire MCF5282 Departamento de Electrónica Curso 2010/11 Índice Introducción al MCF5282 Las familias 68K y ColdFire Características generales del MCF5282 El núcleo del MCF5282
Interrupciones de Reloj y Teclado.
Interrupciones de Reloj y Teclado. Diplomónadas Microspóridas... Cadenas Manuel Ferreria Pablo Somodi Mariano Cerrutti DC - FCEyN - UBA 6 de Junio de 2017 Mariano Cerrutti (DC - FCEyN - UBA) Interrupciones
Capítulo 1 Conceptos arquitectónicos
Sistemas operativos: una visión aplicada Capítulo 1 Conceptos arquitectónicos Contenido Estructura del computador Ejecución de instrucciones Interrupciones Reloj del computador Jerarquía de memoria Entrada/Salida
Necesidad de Protección
Necesidad de Protección Por qué necesitamos protección? Para mejorar la utilización del sistema, el Sistema de Operación empezó a compartir recursos del sistema entre varios programas de manera simultánea.
Introducción a los Sistemas Operativos S.O.
Introducción a los Sistemas Operativos S.O. Contenido 1. Conceptos 2. Evolución de los Sistemas Operativos 3. Administración del Entorno de Hardware 1. CONCEPTOS 1.1. Definición de Sistema Operativo Es
Arquitectura de Computadores II SPArc Parte I
Arquitectura de Computadores II SPArc Parte I Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2008 SPARC: Introducción SPARC: Scalable Processor ARChitecture Arquitectura
SISTEMAS OPERATIVOS Arquitectura de computadores
SISTEMAS OPERATIVOS Arquitectura de computadores Erwin Meza Vega emezav@unicauca.edu.co Esta presentación tiene por objetivo mostrar los conceptos generales de la arquitectura de los computadores, necesarios
CICLOS DEL PROCESADOR
UNIDAD DE CONTROL CICLOS DEL PROCESADOR Qué es un ciclo de búsqueda? Para qué sirve estudiar los ciclos de instrucción de una CPU? Para comprender el funcionamiento de la ejecución de instrucciones del
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
Sistema Operativo. Repaso de Estructura de Computadores. Componentes Hardware. Elementos Básicos
Sistema Operativo Repaso de Estructura de Computadores Capítulo 1 Explota los recursos hardware de uno o más procesadores Proporciona un conjunto de servicios a los usuarios del sistema Gestiona la memoria
Ejercicios sobre gestión de memoria
Boletín 6 Ejercicios sobre gestión de memoria July 15, 2016 1. Sea un sistema que emplea un mecanismo de paginación para gestionar la memoria. Las páginas son de 2 KB y una entrada de la tabla de páginas
Práctica 2: Sector de arranque
Práctica 2: Sector de arranque Gustavo Romero López Arquitectura y Tecnología de Computadores 7 de junio de 2016 Gustavo Romero López Práctica 2: Sector de arranque 1 / 13 Objetivos Creación de un sector
Práctica 2: Sector de arranque
Práctica 2: Sector de arranque Gustavo Romero López Arquitectura y Tecnología de Computadores 27 de febrero de 2017 Gustavo Romero López Práctica 2: Sector de arranque 1 / 13 Objetivos Creación de un sector
Arquitectura del CPU. Organización del Computador 1 Verano 2016
Arquitectura del CPU Organización del Computador 1 Verano 2016 Agenda De dónde venimos? Introducción: esquema de una computadora Representación de la información Circuitos Combinatorios Circuitos Secuenciales
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
Tema 4 Microprocesador MCF5282: Hardware
Tema 4 Microprocesador MCF5282: Hardware Curso 2010/11 Índice 1. Introducción 2. Descripción general de los terminales 3. Módulo de interfaz externo (EIM) 4. Módulo de generación de chip-selects (CS) 5.
Unidad 1: Conceptos generales de Sistemas Operativos.
Unidad 1: Conceptos generales de Sistemas Operativos. Tema 2: Estructura de los stmas de computación. 2.1 Funcionamiento de los sistemas de computación. 2.2 Ejec. de instrucciones e interrupciones y estructura
CUESTIONARIO. Instituto Tecnológico de Iztapalapa Ingeniería en Sistemas computacionales. LENGUAJE ENSAMBLADOR Temas: 1.3 y 1.4
CUESTIONARIO LENGUAJE ENSAMBLADOR Temas: 1.3 y 1.4 Gomez Cruz Alberto Abraham 11 1. Cuál es el concepto de Interruptores? Es una operación que suspende la ejecución de un programa de modo que el sistema
ARQUITECTURA SPARC: FORMATO DE INSTRUCCIÓN
ARQUITECTURA SPARC: FORMATO DE INSTRUCCIÓN De Diego Varona, Rubén Romay López, Oscar Manuel Vega Martínez, Jorge INTRODUCCIÓN La representación de la instrucción en la computadora se denomina formato.
Práctica 3: El teclado del PC
Práctica 3: El teclado del PC Gustavo Romero López Arquitectura y Tecnología de Computadores 6 de marzo de 017 Gustavo Romero López Práctica 3: El teclado del PC 1 / 11 Objetivos Objetivos: Fuentes: Recordar
Taller de Sistemas Operativos. System Calls 2012
Taller de Sistemas Operativos System Calls 2012 Agenda Conceptos generales La API POSIX y las System Calls Syscalls System Call Handler Como implementar una System Call Contexto de una System Call Utilizar
Práctica 3: El teclado del PC
Práctica 3: El teclado del PC Gustavo Romero López Arquitectura y Tecnología de Computadores 7 de junio de 2016 Gustavo Romero López Práctica 3: El teclado del PC 1 / 11 Objetivos Objetivos: Fuentes: Recordar
Arquitectura de Computadores II Clase #9
Arquitectura de Computadores II Clase #9 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2009 SPARC: Big-Endian Dirección de doubleword, word, o halfword es la del byte
PROCEDIMIENTOS ALMACENADOS
Modelado de Base de Datos PROCEDIMIENTOS ALMACENADOS Universidad Politecnica de los Llanos Procedimiento Almacenado Un Procedimiento almacenado es un Objeto de Base de Datos que puede encapsular logica
Arquitectura de computadoras
Arquitectura de computadoras Técnicas Digitales III Ing. Gustavo Nudelman 2013 Que entendemos por arquitectura Un sistema con una CPU, memoria y dispositivos de entrada y salida puede considerarse un sistema
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
Circuitos Digitales II y Laboratorio Electrónica Digital II y Laboratorio
Circuitos Digitales II y Laboratorio Electrónica Digital II y Laboratorio Fundamentos de Arquitectura de Computadores Modelo de von Neumann Profesor: Felipe Cabarcas Correo:cabarcas@udea.edu.co Oficina:
Organización de computadoras. Clase 4. Universidad Nacional de Quilmes. Lic. Martínez Federico
Organización de computadoras Clase 4 Universidad Nacional de Quilmes Lic. Martínez Federico Memoria: Organización Lectura Escritura Direcciones Qué pasó? Qué pasó? Memoria: Organización Lectura Escritura
Procesamiento con Multitarea
Procesamiento con Multitarea Técnicas Digitales III Ing. Gustavo Nudelman 2013 Introducción Podemos definir como tarea, a código en ejecución al cual el sistema le asigna recursos especiales que hacen
TEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO. Definición y objetivos de un S.O
TEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO Definición y objetivos de un S.O Definición y objetivos del sistema operativo Estructura, componentes y servicios de un S.O Llamadas al sistema
RESEÑA DE LENGUAJE C
RESEÑA DE LENGUAJE C VARIABLES La función main. Es el punto de entrada al programa. void main(void) Aquí escribo mi programa Tipos de datos. Char. El char es una variable de 1 byte. Almacena números enteros.
ARQUITECTURA DEL PIC16F84A
ARQUITECTURA DEL PIC16F84A Arquitectura interna del PIC16F84A CPU ALU Decodificador de Instrucciones - Buses Registro de trabajo W PC Contador de Programa Organización de la memoria Memoria de Programa
Microprocesadores. Procesadores IA-32 e Intel R 64 Tareas. Alejandro Furfaro
Microprocesadores Procesadores IA-32 e Intel R 64 Tareas Alejandro Furfaro Junio de 2012 Temario 1 Introducción 2 Recursos para manejo de tareas en IA-32 Task State Segment Descriptor de TSS Descriptor
Arquitectura de Computadores II Clase #9
Arquitectura de Computadores II Clase #9 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2009 SPARC: Big-Endian Dirección de doubleword, word, o halfword es la del byte
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
Sistemas Operativos Tema 2: Estructura del computador José Miguel Santos Alexis Quesada Francisco Santana
Sistemas Operativos Tema 2: Estructura del computador 1998-2008 José Miguel Santos Alexis Quesada Francisco Santana 1 Contenidos Estructura de la E/S Sistema de Interrupciones DMA Jerarquía de memorias
Departamento de Sistemas e Informática
Departamento de Sistemas e Informática Programación en Assembler - Clase 4 Digital II Interrupciones Una interrupción es una llamada generada por hardware (o software) que interrumpe al programa principal
BREAK: FORZAR SALIDA BUCLES FOR, WHILE, DO EN C. LOOP. STATEMENT NOT WITHIN LOOP OR SWITCH (CU00545F)
APRENDERAPROGRAMAR.COM BREAK: FORZAR SALIDA BUCLES FOR, WHILE, DO EN C. LOOP. STATEMENT NOT WITHIN LOOP OR SWITCH (CU00545F) Sección: Cursos Categoría: Curso básico de programación en lenguaje C desde
Tipos de crashes (caídas del sistema) poco frecuentes
Tipos de crashes (caídas del sistema) poco frecuentes Interactivo: Este documento ofrece un análisis personalizado de su dispositivo Cisco. Contenidos Introducción Requisitos previos Requisitos Componentes
Arquitectura de Computadores
Curso 2006/07 Arquitectura de Computadores 1. Introducción 2. La CPU 3. Lenguaje Máquina 4. La Memoria 5. Sistema de Entrada/Salida Informática Aplicada Arquitectura de Computadores 1 Organización E/S
Ejercicios del Tema 3. Fundamentos de la programación en ensamblador
Ejercicios del Tema 3. Fundamentos de la programación en ensamblador Ejercicio 1. Dada la siguiente expresión de un lenguaje de alto nivel int a = 6; int b = 7; int c = 3; int d; d = (a+b) * (a+b); Indique
Ejercicios del Tema 3. Fundamentos de la programación en ensamblador
Ejercicios del Tema 3. Fundamentos de la programación en ensamblador Ejercicio 1. Escriba un programa en ensamblador del MIPS 32 para calcular la suma de los 100 primeros números naturales. El programa
ARQUITECTURA DE LOS SISTEMAS BASADOS EN MICROPROCESADOR
ARQUITECTURA DE LOS SISTEMAS BASADOS EN MICROPROCESADOR Historia Bloques funcionales Dimensionamiento Estructura CPU Concepto de programa Interrupciones Buses Entrada / Salida Ejemplo de arquitectura:
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
V.- V.-El El manejo de de las las Interrupciones
Las Las V.- V.-El El manejo de de las las Conceptos Conceptos BásicosB Básicos Modos Modos de de Manejo Manejo Ejemplos Ejemplos de de aplicación aplicación Las Las El manejo de las en el 8051 Las interrupciones
Velocidades Típicas de transferencia en Dispositivos I/O
Entradas Salidas Velocidades Típicas de transferencia en Dispositivos I/O Entradas/Salidas: Problemas Amplia variedad de periféricos Entrega de diferentes cantidades de datos Diferentes velocidades Variedad
Tema 12: El sistema operativo y los procesos
Tema 12: El sistema operativo y los procesos Solicitado: Tarea 06 Arquitecturas de una computadora y el funcionamiento del software M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx
Introducción a Java. Dr. (c) Noé Alejandro Castro Sánchez
Introducción a Java Dr. (c) Noé Alejandro Castro Sánchez Programas Java Applets Pueden correr en navegadores Web Agregan funcionalidad a páginas Web Se llega a restringir su funcionalidad (e. g., no pueden:
Capítulo 1. Introducción a los PIC de 8 bits
Capítulo 1. Introducción a los PIC de 8 bits 1.1 Memorias y Registros Entre los componentes básicos de un microcontrolador podemos definir el contador, sus registros, la memoria, el watchdog timer, el
Especificaciones técnicas de software
2017/03/28 20:29 1/5 Especificaciones técnicas de software Especificaciones técnicas de software Módulo Coder IEC61131 Project CIAAv1.0_SW_ESP_001 La CIAA v1.0 sólo utilizará un procesador a la vez. CIAAv1.0_SW_ESP_002
ARQUITECTURA SPARC: CONCEPTOS GENERALES
ARQUITECTURA SPARC: CONCEPTOS GENERALES De Diego Varona, Rubén Romay López, Oscar Manuel Vega Martínez, Jorge INTRODUCCIÓN SPARC (del inglés Scalable Processor Architecture ). Un procesador con arquitectura
Laboratorio - Organización de la CPU
Arquitectura de Computadoras - Edición 2017 Laboratorio - Organización de la CPU Objetivos Ejercitar conceptos vistos en el curso sobre diseño de circuitos digitales. Familiarizarse con el funcionamiento
TEMA 4 TECNICAS DE DIRECCIONAMIENTO
TEMA 4 TECNICAS DE DIRECCIONAMIENTO CURSO 2010/2011 TECNICAS DE DIRECCIONAMIENTO 1. Introducción 2. Registros de los Generadores de Direcciones (DAG) Registros Alternos de los DAG 3. Modos de Operación
Cuestionario 1-Parte 1
Cuestionario 1-Parte 1 Sistemas Operativos José Antonio Méndez Barrios 201118720 1. Qué es un Sistema Operativo? Programa que controla la ejecución de los programas de aplicación y que actúa como interfaz
Temporización mediante el temporizador del sistema SysTick en microcontroladores ARM Cortex-M
Temporización mediante el temporizador del sistema SysTick en microcontroladores ARM Cortex-M Apellidos, nombre Departamento Centro Capella Hernández, Juan Vicente (jcapella@disca.upv.es) Departamento
Convivencia Introducción
Convivencia Introducción Dra. Carolina Mañoso Dpto. Informática y Automática.UNED Definición (1/3) El sistema operativo como máquina virtual o extendida: Un sistema operativo es una serie de componentes
Índice. Entorno de prácticas. Hardware virtual. Práctica 1 Minikernel. Diseño de sistemas operativos. Fernando Pérez Costoya
Diseño de sistemas operativos Práctica 1 Minikernel Índice Descripción del entorno de prácticas Módulo HAL Sistema operativo Programas de usuario Funcionalidad pedida Fernando Pérez Costoya Diseño de Sistemas
Sistemas Operativos. Curso 2016 Administración de memoria II
Sistemas Operativos Curso 2016 Administración de memoria II Agenda Memoria Virtual. Paginación. Segmentación. Segmentación con paginación. Sistemas Operativos Curso 2016 Administración de memoria II 2/35
Usando el Sistema Operativo
Sistemas Operativos Pontificia Universidad Javeriana Enero de 2010 Los sistemas operativos Los sistemas operativos Perspectivas del Computador Concepto general El sistema operativo es parte del software
Sistemas Operativos. Tema 1. Arquitectura Básica de los Computadores
Sistemas Operativos. Tema 1 Arquitectura Básica de los Computadores http://www.ditec.um.es/so Departamento de Ingeniería y Tecnología de Computadores Universidad de Murcia Sistemas Operativos. Tema 1 Arquitectura
Tema 05: Elementos de un programa en C
Tema 05: Elementos de un programa en C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1
ELO311 Estructuras de Computadores Digitales. Operaciones MIPS para Control de flujo
ELO311 Estructuras de Computadores Digitales Operaciones MIPS para Control de flujo Tomás Arredondo Vidal Este material está basado en: material de apoyo del texto de David Patterson, John Hennessy, "Computer
T1-Introducción. Índice
T1-Introducción 1.1 Índice El papel del S.O. Servicios que ofrece el S.O. Formas de acceder al kernel (Tema 8 EC) Modos de ejecución Interrupciones, excepciones y llamadas a sistema Llamadas a sistema
Operadores aritméticos
Bloque 3.2 Operadores aritméticos Suma : x + y Resta : x y Multiplicación : x * y División : x / y Módulo : x % y (resto de la división Si los operandos son enteros tipo del resultado
Tema 4 Microprocesador MCF5282: Hardware
Tema 4 Microprocesador MCF5282: Hardware Curso 2010/11 Índice 1. Introducción 2. Descripción general de los terminales 3. Módulo de interfaz externo (EIM) 4. Módulo de generación de chip-selects (CS) 5.
Uso del registro de la configuración en todos los routeres Cisco
Uso del registro de la configuración en todos los routeres Cisco Contenido Introducción prerrequisitos Requisitos Componentes Utilizados Convenciones Objetivo del registro de la configuración Valores del
Controlador Programable de Interrupciones i8259
Controlador Programable de Interrupciones i8259 () Funciones Estructura externa (esquema de conexión) Estructura interna Secuencia de reconocimiento de una interrupción Conexión en cascada entre varios
Estructura Windows NT
Introducción - Uno de los objetivos principales del diseño de Windows NT fue tener un núcleo tan pequeño como fuera posible. - En este núcleo estarían integrados módulos que dieran respuesta a aquellas
Tema 1: Introducción a los Sistemas Operativos
Tema 1: Introducción a los Sistemas Operativos Yolanda Blanco Fernández yolanda@det.uvigo.es Qué es un Sistema Operativo (SO)? Un programa que actúa como intermediario entre el usuario y el hardware del
TEMA 4. ARQUITECTURA IA-64
TEMA 4. ARQUITECTURA IA-64 Stalling, W.Computer Organization and Architecture cap. 15 Intel IA-64 Architecture Software Developer s Manual Generalidades IA-64 Desarrollo conjunto Intel-HP Nueva arquitectura
Introducción a la Entrada/Salida
Introducción a la Entrada/Salida Organización de entrada/salida La familia de procesadores 80x86, presente en el IBM PC, utiliza la arquitectura Von Neumann, que puede verse en la figura 1. El denominado
Sistemas Operativos. Daniel Rúa Madrid
Sistemas Operativos Daniel Rúa Madrid Qué es? Es un programa que administra el hardware de una computadora. También proporciona las bases para los programas de aplicación y actúa como intermediario entre
Universidad de Los Andes Escuela de Ingeniería de Sistemas Departamento de Computación Arquitectura de Computadores. Clase 24
Universidad de Los Andes Escuela de Ingeniería de Sistemas Departamento de Computación Arquitectura de Computadores Clase 24 Semestre B-2010 Ícaro Alzuru C. AGENDA Memoria Virtual Memory Management Unit
Laboratorio 1 Entorno de desarrollo y subrutinas
Laboratorio 1 Entorno de desarrollo y subrutinas Objetivos Dar los primeros pasos con el uso de la placa. Desarrollar subrutinas que acceden a puertos de entrada y salida (E/S). Validar subrutinas básicas
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
Arquitectura del MIPS: Introducción
Arquitectura del MIPS: Introducción Montse Bóo Cepeda Este trabajo está publicado bajo licencia Creative Commons Attribution- NonCommercial-ShareAlike 2.5 Spain. Estructura del curso 1. Evolución y caracterización
Tema: Microprocesadores
Universidad Nacional de Ingeniería Arquitectura de Maquinas I Unidad I: Introducción a los Microprocesadores y Microcontroladores. Tema: Microprocesadores Arq. de Computadora I Ing. Carlos Ortega H. 1
Lenguaje Ensamblador. Equipo 3. Alberto Abraham Gomez Cruz Edgar
Lenguaje Ensamblador Equipo 3 Alberto Abraham Gomez Cruz Edgar Unidad 1 1.3 Interruptores 1.4 Estructura de un programa en ensamblador Introducción El lenguaje ensamblador es el sistema alfanumérico para
Primer Semestre Laboratorio de Electrónica Universidad de San Carlos de Guatemala. Electrónica 5. Aux. Marie Chantelle Cruz.
Laboratorio de Electrónica Universidad de San Carlos de Guatemala Primer Semestre 2017 Overview 1 Cortex La más usada para dispositivos móviles Encoding por 32 bits, excepto Thumb y Thumb-2 15x32bits registros
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
Espacio de direcciones de un proceso
Espacio de direcciones de un proceso Yolanda Becerra Fontal Juan José Costa Prats Facultat d'informàtica de Barcelona (FIB) Universitat Politècnica de Catalunya (UPC) BarcelonaTech 2014-2015 QP Indice
Sistemas embebidos basados en FPGAs para instrumentación
Sistemas embebidos basados en FPGAs para instrumentación Introducción a los procesadores empotrados en FPGAs. PicoBlaze Guillermo Carpintero del Barrio Arquitectura de un Procesador CPU Memoria Programas/Datos
Programación Orientada a Objetos en C++
Unidad I Programación Orientada a Objetos en C++ Programación Orientada a Objetos en C++ Programación I - 0416202 Contenido Esta lección abarca los siguientes temas: Estructura y declaración de una clase