Tema V Generación de Código
|
|
|
- Amparo Marín Bustamante
- hace 9 años
- Vistas:
Transcripción
1 Tema V Generación de Código Una vez que se ha realizado la partición HW/SW y conocemos las operaciones que se van a implementar por hardware y software, debemos abordar el proceso de estas implementaciones. Seguiremos con la implementación software. Este tema ya ha sido ampliamente tratado a lo largo de diferentes asignaturas, así que no se hará mucho hincapíe. Especificaciones Formato intermedio Partición HW/SW Código Implementación HW Integración Verificación
2 Departamento de Ingeniería Electrónica de Sistemas Informáticos y Automática Introducción En la siguiente etapa del diseño debemos generar el código de las operaciones que van a ser implementadas vía software, para lo cual se debe mapear las especificaciones de alto nivel a los recursos disponibles en el procesador (o arquitectura software del sistema). A la hora de abordar esta tarea es necesario tener en cuenta dos aspectos fundamentales: Arquitecturas del sistema software Ya tenga un conjunto de instrucciones complejo o reducido. El sistema esté dividido en etapas de pipeline o no. El esquema de memoria, tengan un tratamiento idéntico las instrucciones y datos o no. El tipo de procesamiento en paralelo o no Criterios de optimización Rendimiento Tamaño Consumo Utilización de recursos Estos aspectos nos servirán para poder minimizar el código de las operaciones, y así adecuarlo a las características del sistema global. En concreto, la arquitectura software nos va a servir para utilizar los aspectos que nos lleven a obtener unos criterios de optimización deseados. Como se trata de un programa software, el flujo de diseño será el mismo que el de cualquier programa, mostrado en la figura 5.1. En este flujo el código inicial debe pasar por una serie de procesos antes de obtener el código ejecutable almacenado en memoria y listo para su ejecución. Estos procesos son la compilación, el ensamblaje, el linkado y el cargado. Todos ellos pueden ser realizados de forma automática sin ninguna intervención del programador (a excepción de introducir el código fuente); no obstante esta solución implica un tiempo de diseño muy bajo a costa de una optimización muy pobre. Lo que se suele hacer es utilizar unos compiladores apropiados para los requerimientos de sistemas empotrados y realizar el resto de procesos de forma automática, por ello hablaremos de la compilación en último lugar. La tarea del ensamblador consiste en pasar del código de ensamblador (generalmente a base de instrucciones de bajo nivel expresadas como nemotécnicos) a un código objecto que pueda ser interpretable por el sistema software en el que se vaya a ejecutar. Por lo tanto, el ensamblador deberá realizar los siguientes procesos: Expansión de abreviaturas y macros Resolución de etiquetas locales Tabla de reubicación Obtención de la salida en el formato máquina del sistema software destino La tarea del linkador consiste en pasar del formato máquina a un código ejecutable en el sistema software destino. Por lo tanto, deberá realizar las siguientes operaciones:
3 Departamento de Ingeniería Electrónica de Sistemas Informáticos y Automática 64 codigo.c Compilador codigo.s Ensamblador codigo.o Linkador codigo Cargador Leer todos los objecto y librerías utilizadas. Combina las diferentes secciones (de una forma inteligente). Resuelve los símbolos globales. Como salida proporciona un código ejecutable con una nueva tabla de reubicación. La tarea del cargador consiste en llevar el código ejecutable a la memoria principal del sistema software para su ejecución. Para ello deberá realizar los siguientes procesos: Copia el código ejecutable suministrado por el linkador a memoria. Reserva espacio para la pila. Reubica las direcciones en función de la tabla. Pasa el control al código de startup. El compilador, a pesar de ser el primero en realizar sus tareas, lo hemos dejado para el final ya que es el elemento en el que se pueden realizar las optimizaciones. La tarea del compilador consiste en pasar una secuencia de instrucciones (generalmente de un lenguaje de alto nivel como puede ser el C) a una descripción en lenguaje ensamblador. Para ello debe realizar los siguientes procesos: Analizador léxico, Parser, Analizador semántico, Traductor, Optimizador, Figura Flujo de diseño de un programa software. Estos elementos estarán presentes cuando la compilación se realiza a bajo nivel. No obstante, al ir implementándose compiladores dedicados a estos sistemas, también se puede abordar la
4 Departamento de Ingeniería Electrónica de Sistemas Informáticos y Automática 65 compilación desde un nivel mixto, es decir, todavía no desde un nivel de abstracción alto, pero no tan bajo como el anterior. En este útlimo caso, las dos últimas tareas son sustituidas por las siguientes: Generador de código intermedio, Optimizador, Generador de código, como se puede ver en la figura 5.2. Analizador léxico Parser Analizador semántico Bajo nivel Traductor Optimizador Generador de código intermedio Optimizador Nivel mixto Generador de código Figura Pasos del compilador 5.2. Análisis Debido a que a lo largo de la carrera ya habéis cursado suficientes asignaturas relativas a la programación, aquí vamos a indicar una serie de directrices para aumentar las prestaciones del código utilizado, a través de las siguientes actuaciones: reducción del consumo de potencia aumento de velocidad reducción del área de memoria Análisis de prestaciones La generación del código provocará diferentes consumos de potencia según los procesos y accesos a memoria que estén programados realizarse. El consumo se puede dividir en diferentes partes del sistema software: Datapaths de la ALU y las unidades funcionales
5 Departamento de Ingeniería Electrónica de Sistemas Informáticos y Automática 66 Cache y sistemas de memoria Buses del sistema Circuitos de control y distribución más lógica de control. En cambio, el tiempo de ejecución se puede dividir en dos contribuciones bien diferenciadas: Instrucciones existentes en el código Número de accesos a memoria Por último, el área de memoria dependerá del número y tipo de variables que se hayan declarado en el código. Suponiendo que el algoritmo implementado es el más óptimo, vamos a dar una serie de directrices que sirven para reducir el consumo de potencia y aumentar las prestaciones en el sistema software, mostrados en la figura 5.3: Permutaciones de bucles (figura 5.3a), para mejorar la localidad al acceder a los elementos del array de forma secuencial. De esta forma todos los datos del array (sino la mayoría) estarán localizados en la memoria cache. Reducción del tamaño de la ventana de los bucles (figura 5.3b), de esta forma se reduce el número de iteraciones de cada bucle. Fusión de bucles (figura 5.3c), reduciendo el espacio de memoria que se recorre eliminando bucles innecesarios. Desdoblado de bucles (figura 5.3d), de esta forma reducimos el número de iteraciones que deben realizar los bucles. Reindexar la dimensión (figura 5.3e), de esta forma se mejora la localidad igual que en el primer caso. Minimizar los accesos a memoria (figura 5.3f), y así reducimos las instrucciones que se deban ejecutar en cada bucle a las necesarias. Reducción de área en memoria (figura 5.3g), y spuestamente también se reducen los accesos a ella.
6 Departamento de Ingeniería Electrónica de Sistemas Informáticos y Automática 67 P[j][i] = Q[j][i] MAYOR CONSUMO (a) P[j][i] = Q[j][i] MENOR CONSUMO for (k=0; k<n; k++) (b) for (i1=0; i1<n; i1+=t) for (j1=0; j1<n; j1+=t) for (k1=0; k1<n; k1+=t) for (i=i1; i<min(i1+t,n); i++) for (j=j1; j<min(j1+t,n); j++) for (k=k1; k<min(k1+t,n); k++) P[i] = Q[i] P[i] = P[i]*R[i] (c) { P[i] = Q[i] P[i] = P[i]*R[i] for (k=0; k<n; k++) (d) for (i=0; i<n; i+=b) for (k=0; k<n; k++) { X[i+1][j]=Y[i][j]+Z[k][j]... X[i+b-1][j]=Y[i][j]+Z[k][j] P[j][i] = Q[i][j] (e) P[j][i] = Q1[j][i] P[i] =... (f) { P[i] = {... = P[i] P[i] = R[i] (g) {... = P[i] Q[i] = R[i] Figura Técnicas para reducir el consumo de potencia y aumentar las prestaciones.
Tema 2 Introducción a la Programación en C.
Tema 2 Introducción a la Programación en C. Contenidos 1. Conceptos Básicos 1.1 Definiciones. 1.2 El Proceso de Desarrollo de Software. 2. Lenguajes de Programación. 2.1 Definición y Tipos de Lenguajes
Tema 2 Conceptos básicos de programación. Fundamentos de Informática
Tema 2 Conceptos básicos de programación Fundamentos de Informática Índice Metodología de la programación Programación estructurada 2 Pasos a seguir para el desarrollo de un programa (fases): Análisis
Técnicas de Programación
Técnicas de Programación 2.1.- Introducción: unos conceptos previos y primeros conceptos de la API Introducción La resolución de un problema con medios informáticos implica generalmente la siguiente secuencia
Tema II: Metodología para la construcción de programas
Tema II: Metodología para la construcción de programas Semestre: A-2012 Profesora: Nelly García Mora Agenda 1. Definición 2. Análisis E P S 3. Construcción de Algoritmos 4. Diagramas de Flujo 5. Codificación
Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria
1.2. Jerarquía de niveles de un computador Qué es un computador? Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria Es un sistema tan complejo
Computadora y Sistema Operativo
Computadora y Sistema Operativo Según la RAE (Real Academia de la lengua española), una computadora es una máquina electrónica, analógica o digital, dotada de una memoria de gran capacidad y de métodos
M. C. Felipe Santiago Espinosa
M. C. Felipe Santiago Espinosa Junio de 2008 Un sistema empotrado es un procesador, con sus elementos externos que desarrolla una función especifica de manera autónoma. Un sistema empotrado es un sistema
TEMA 3: El proceso de compilación, del código fuente al código máquina
TEMA 3: El proceso de compilación, del código fuente al código máquina 3.1 Fase de compilación y linkado (link, montado o enlace) Un programa escrito en un lenguaje de alto nivel, no puede ser ejecutado
Tema II: Metodología para la construcción de programas. Profesora: Nelly García Mora
Tema II: Metodología para la construcción de programas Profesora: Nelly García Mora 1. Metodologías de Programación Metodología de programación: es un conjunto o sistema de métodos, principios y reglas,
Unidad I Introducción a la programación de Sistemas. M.C. Juan Carlos Olivares Rojas
Unidad I Introducción a la programación de Sistemas M.C. Juan Carlos Olivares Rojas Agenda 1.1 Qué es y que estudia la programación de sistemas? 1.2 Herramientas desarrolladas con la teoría de programación
Lenguaje de programación. COMPILADORES Unidad I: Introducción al proceso de compilación
COMPILADORES Unidad I: Introducción al proceso de compilación Flor Prof. Flor Narciso GIDyC-Departamento de Computación LABSIULA-Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de
Las optimizaciones pueden realizarse de diferentes formas. Las optimizaciones se realizan en base al alcance ofrecido por el compilador.
Unidad III: Optimización Las optimizaciones pueden realizarse de diferentes formas. Las optimizaciones se realizan en base al alcance ofrecido por el compilador. La optimización va a depender del lenguaje
FUNCIONAMIENTO DEL ORDENADOR
FUNCIONAMIENTO DEL ORDENADOR COMPUTACIÓN E INFORMÁTICA Datos de entrada Dispositivos de Entrada ORDENADOR PROGRAMA Datos de salida Dispositivos de Salida LOS ORDENADORES FUNCIONAN CON PROGRAMAS Los ordenadores
Nombre de la asignatura: Programación Básica. Créditos: Objetivo de aprendizaje
Nombre de la asignatura: Programación Básica Créditos: 2 4-6 Objetivo de aprendizaje Plantear metodológicamente la solución de problemas susceptibles de ser computarizados a través del manejo de técnicas
TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES TRABAJO DE PRÁCTICAS. Convocatoria de junio de 2013
TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Ingeniería Técnica en Informática de Sistemas Segundo curso Departamento de Informática y Análisis Numérico Escuela Politécnica Superior Universidad de Córdoba
Diseño de compiladores. Organización de memoria. Organización de memoria. Organización de memoria. Zona de código 04/05/2014 ORGANIZACIÓN DE MEMORIA
Diseño de compiladores Gestión de la memoria / Generación de código ORGANIZACIÓN DE MEMORIA Organización de memoria Depende del tipo de lenguaje (declarativos, imperativos), del compilador y del sistema
INICIACIÓN A LA PROGRAMACIÓN 1ª parte
TEMA 4 INICIACIÓN A LA PROGRAMACIÓN 1ª parte Qué es la programación? La programación es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales. En la actualidad,
Qué es un programa informático?
Qué es un programa informático? Un programa informático es una serie de comandos ejecutados por el equipo. Sin embargo, el equipo sólo es capaz de procesar elementos binarios, es decir, una serie de 0s
C1 INTRODUCCIÓN AL LENGUAJE C. Fundamentos de Informática Departamento de Ingeniería de Sistemas y Automática. EII. Universidad de Valladolid
C1 INTRODUCCIÓN AL LENGUAJE C Fundamentos de Informática Departamento de Ingeniería de Sistemas y Automática. EII. Universidad de Valladolid Índice 1. Lenguajes de Programación 1. Definición. 2. Niveles
Tema III: Introducción al lenguaje de programación
Tema III: Introducción al lenguaje de programación Semestre: U-2014 Profesora: Nelly García Mora Agenda 1. Definición 2. Programación estructurada 3. Programación Modular 4. Tipos de lenguaje de Programación
Unidad I: Organización del Computador. Ing. Marglorie Colina
Unidad I: Organización del Computador Ing. Marglorie Colina Arquitectura del Computador Atributos de un sistema que son visibles a un programador (Conjunto de Instrucciones, Cantidad de bits para representar
Programación I. Carrera: ECM Participantes Participantes de las academias de ingeniería electrónica de los Institutos Tecnológicos.
.- DATOS DE LA ASIGNATURA Nombre de la asignatura: Carrera: Clave de la asignatura: Horas teoría-horas práctica-créditos Programación I Ingeniería Electrónica. ECM-043 3-2- 2.- HISTORIA DEL PROGRAMA Lugar
Objetos de aprendizaje: Computadora
MOMENTO I. BLOQUE 1. Opera las funciones básicas del sistema operativo y garantiza la seguridad de la información Objetos de aprendizaje: Computadora Lectura 1: La Computadora La computadora es una máquina
Algoritmos. Diagramas de Flujo. Informática IV. L. S. C. Heriberto Sánchez Costeira
Informática IV Algoritmos Diagramas de Flujo L. S. C. Heriberto Sánchez Costeira Algoritmos 1 Definición Es una serie finita de pasos o instrucciones que deben seguirse para resolver un problema. Es un
1. Computadores y programación
1. Computadores y programación Informática y computadora (RAE) Informática (Ciencia de la computación) Conjunto de conocimientos científicos y técnicos que hacen posible el tratamiento automático de la
Nombre de la asignatura: Arquitectura de Computadoras. Créditos: Aportación al perfil
Nombre de la asignatura: Arquitectura de Computadoras Créditos: Aportación al perfil Seleccionar y utilizar de manera óptima técnicas y herramientas computacionales actuales y emergentes. Identificar,
Las Etapas de la Compilación
Las de la Compilación El en la Compilación Universidad de Cantabria Outline 1 El Problema 2 Las y el Qué pasos son necesarios dar para hallar la estructura de un programa? En qué pasos podemos dividirlos
PROGRAMA ANALÍTICO DE ASIGNATURA
UNIVERSIDAD AUTÓNOMA DEL ESTADO DE HIDALGO COORDINACIÓN DE DOCENCIA DIRECCIÓN DE PLANEACIÓN Y DESARROLLO EDUCATIVO _ 1.- DATOS GENERALES 1.1 INSTITUTO: CIENCIAS BASICAS E INGENIERIA PROGRAMA ANALÍTICO
0-31 : caracteres de control : carac. Comunes : especiales (flechas, símbolos) y particulares (ñ)
Hardware y Software (1/6) Lenguaje binario Los ordenadores sólo entienden 1 y 0. Lógica positiva: 0: no hay señal 1: hay señal Código ASCII American Standard Code for Information Interchange Carácter =
Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo
TEMA 2: CONCEPTOS BÁSICOS DE ALGORÍTMICA 1. Definición de Algoritmo 1.1. Propiedades de los Algoritmos 2. Qué es un Programa? 2.1. Cómo se construye un Programa 3. Definición y uso de herramientas para
2. Codificar de forma sistemática la secuencia de instrucciones en un lenguaje.
Modulo 1. Introducción a los lenguajes de programación La solución de problemas mediante en uso de un computador nos lleva a desarrollar programas o aplicaciones, la construcción de estos programas debe
Introducción a la Operación de Computadoras Personales
Introducción a la Operación de Computadoras Personales Conceptos básicos de computadoras: Software Dr. Diego García Depto. de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur, Bahía
Lenguaje binario. Código ASCII. Medidas de la información
Hardware y Software (1/5) Lenguaje binario Los ordenadores sólo entienden 1 y 0. Lógica positiva: 0: no hay señal 1: hay señal Código ASCII Medidas de la información Unidad mínima de información: BIT (0
Algoritmos y solución de problemas. Fundamentos de Programación Otoño 2008 Mtro. Luis Eduardo Pérez Bernal
Algoritmos y solución de problemas Fundamentos de Programación Otoño 2008 Mtro. Luis Eduardo Pérez Bernal Introducción Departamento de Electrónica, Sistemas e Informática En las ciencias de la computación
OPTIMIZACIÓN DE CÓDIGO
OPTIMIZACIÓN DE CÓDIGO INTRODUCCION La finalidad de la optimización de código es producir un código objeto lo más eficiente posible. En algunos casos también se realiza una optimización del código intermedio.
Un. VI. Generador de código intermedio.
Un. VI. Generador de código intermedio. La administración de la memoria se da en esta etapa. Se debe considerar tanto la memoria estática como dinámica, y en esta se utilizan generalmente pilas. Los lenguajes
IFCT0209 Sistemas Microinformáticos
IFCT0209 Sistemas Microinformáticos 1. MÓDULO 1. MF0219_2 INSTALACIÓN Y CONFIGURACIÓN DE SISTEMAS OPERATIVOS UNIDAD FORMATIVA 1. UF0852 INSTALACIÓN Y ACTUALIZACIÓN DE SISTEMAS OPERATIVOS UNIDAD DIDÁCTICA
INDICE Programa Entrada Unidad de control Unidad aritmética y lógica (ALU)
INDICE Capitulo 1. Qué es un computador? 1.1. Introducción 1 1.2. El computador como dispositivo electrónico 2 1.3. Cómo se procesa la información? 3 1.4.Diagrama de bloques de un computador 1.4.1. Información
Construyendo Programas más Complejos
Arquitectura de Ordenadores Construcciones de Alto Nivel en Ensamblador Abelardo Pardo [email protected] Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Construyendo Programas más
Unidad II: Análisis semántico
Unidad II: Análisis semántico Se compone de un conjunto de rutinas independientes, llamadas por los analizadores morfológico y sintáctico. El análisis semántico utiliza como entrada el árbol sintáctico
Arquitectura del PLC. Dpto. Electrónica, Automática e Informática Industrial)
Arquitectura del PLC Dpto. Electrónica, Automática e Informática Industrial) www.elai.upm.es Introducción (I) El PLC recibe, en tiempo real, la información de los sensores conectados al proceso y ejecuta
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
Unidad V Análisis Semántico. M.C. Juan Carlos Olivares Rojas
Unidad V Análisis Semántico M.C. Juan Carlos Olivares Rojas Agenda 5.1 Analizador semántico 5.2 Verificación de tipos en expresiones. 5.3 Conversión de tipos. 5.4 Acciones agregadas en un analizador sintáctico
Introducción a la programación
Introducción a la programación Conceptos Básicos El objetivo fundamental de éste curso es enseñar a resolver problemas mediante una computadora. El programador de computadoras es antes que nada una persona
PROCESADORES DE LENGUAJE EXAMEN FINAL 8-JUNIO-07
PROCESADORES DE LENGUAJE EXAMEN FINAL 8-JUNIO-07 1. En qué método de análisis sintáctico puede suceder que en la construcción del árbol de derivación de las posibles expansiones de un símbolo no terminal
ESCUELA SUPERIOR POLITECNICA DEL LITORAL PROGRAMA DE ESTUDIOS
FUNDAMENTOS DE PROGRAMACIÓN UNIDAD ACADÉMICA: CARRERA: ESPECIALIZACIÓN: ÁREA: Facultad de Ingeniería en Electricidad y Computación Ingeniería en Ciencias Computacionales, Ingeniería en Electrónica y Telecomunicaciones,
Universidad Centroccidental Lisandro Alvarado. Decanato de Ciencias y Tecnología Departamento de Sistemas
Universidad Centroccidental Lisandro Alvarado Decanato de Ciencias y Tecnología Departamento de Sistemas PROGRAMA INSTRUCCIONAL PROGRAMA: ANALISIS DE SISTEMAS DEPARTAMENTO: SISTEMAS ASIGNATURA: INTRODUCCIÓN
Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik
Objetivos Objetivos Arquitecturas von Neumann Otras Unidad Central de Procesamiento (CPU) Responsabilidades Requisitos Partes de una CPU ALU Control & Decode Registros Electrónica y buses 2 Índice Capítulo
DISEÑO DEL SISTEMA DE INFORMACION (DSI)
DISEÑO DEL SISTEMA DE INFORMACION (DSI) El objetivo del proceso de Diseño del Sistema de Información (DSI) es la definición de la arquitectura del y del entrono tecnológico que le va a dar soporte, junto
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
UNIVERSIDAD DE GUADALAJARA
UNIVERSIDAD DE GUADALAJARA CENTRO UNIVERSITARIO DE LOS ALTOS DIVISIÓN DE ESTUDIOS EN FORMACIONES SOCIALES LICENCIATURA: INGENIERÍA EN COMPUTACIÓN UNIDAD DE APRENDIZAJE POR OBJETIVOS ORGANIZACIÓN DE COMPUTADORAS
Tema 1. Introducción a la arquitectura de computadores: diseño, coste y rendimiento
Soluciones a los problemas impares Tema 1. Introducción a la arquitectura de computadores: diseño, coste y rendimiento Arquitectura de Computadores I Curso 2009-2010 Tema 1: Hoja: 2 / 18 Tema 1: Hoja:
Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo
Algoritmos En general, no hay una definición formal de algoritmo. Muchos autores los señalan como listas de instrucciones para resolver un problema abstracto, es decir, que un número finito de pasos convierten
: Algorítmica y Estructura de Datos I
FACULTAD POLITÉCNICA DIRECCIÓN ACADÉMICA PROGRAMA DE ESTUDIO I. IDENTIFICACIÓN Carrera : Ingeniería de Sistemas CARGA HORARIA (Horas reloj) Asignatura : Algorítmica y Estructura de Datos I Carga Horaria
Toda copia en PAPEL es un "Documento No Controlado" a excepción del original.
S U P E RIO R DE MISANTLA Apartado: 7.1 Copia No. Código:PD-SCD-1016 Versión No.: 02 Hoja : 2 de 12 4.- COMPETENCIAS A DESARROLLAR 4.1 Competencias Específicas: Diseña mediante el uso de reglas semánticas
INDICE Control de dispositivos específicos Diseño asistido por computadora Simulación Cálculos científicos
INDICE Parte I. La computadora digital: organización, operaciones, periféricos, lenguajes y sistemas operativos 1 Capitulo 1. La computadora digital 1.1. Introducción 3 1.2. Aplicaciones de las computadoras
Sesión VI: Desarrollo de aplicaciones en el entorno MATLAB
1 Sesión VI: Desarrollo de aplicaciones en el entorno MATLAB LPI: Control y Procesamiento Digital de Señales Por: Ricardo Alzate Castaño UNIVERSIDAD NACIONAL DE COLOMBIA Sede Manizales Segundo Semestre
Introducción a la arquitectura de computadores
Introducción a la arquitectura de computadores Departamento de Arquitectura de Computadores Arquitectura de computadores Se refiere a los atributos visibles por el programador que trabaja en lenguaje máquina
Universidad Católica de Santiago del Estero Facultad de Matemática Aplicada Carrera de Ingeniería en Electrónica
PLANIFICACIÓN DE CÁTEDRA AÑO: 2006 1. IDENTIFICACION. 1.1.Asignatura: INFORMÁTICA 1.2.Carrera: Ingeniería en Electrónica. 1.3.Régimen: Primer cuatrimestre. 1.4.Promoción: Con examen final. 1.5. Correlativas:
Tema I. La computación en el profesional de la Ingeniería
Tema I. La computación en el profesional de la Ingeniería Objetivo: El alumno describirá el desarrollo de la computación y de los beneficios que esto conlleva, para poderla emplear en sus quehaceres académicos
Fundamentos de programación JAVA
Pág. N. 1 Fundamentos de programación JAVA Familia: Editorial: Autor: Computación e informática Macro Ricardo Walter Marcelo Villalobos ISBN: 978-612-304-238-7 N. de páginas: 296 Edición: 2. a 2014 Medida:
OFERTA PFC DEPARTAMENTO DTE (ÁREAS: TELEMÁTICA y ELECTRÓNICA) OTOÑO
OFERTA PFC DEPARTAMENTO DTE (ÁREAS: TELEMÁTICA y ELECTRÓNICA) OTOÑO 2016-17 Procedimiento y plazos para solicitar el PFC en el Dpto. La oferta de PFC se publicará el viernes 16 de septiembre en los tablones
ARQUITECTURA BÁSICA DEL ORDENADOR: Hardware y Software. IES Miguel de Cervantes de Sevilla
ARQUITECTURA BÁSICA DEL ORDENADOR: Hardware y Software. IES Miguel de Cervantes de Sevilla Índice de contenido 1.- Qué es un ordenador?...3 2.-Hardware básico de un ordenador:...3 3.-Software...4 3.1.-Software
Intel lanza su procesador Caballero Medieval habilitado para Inteligencia Artificial
Intel lanza su procesador Caballero Medieval habilitado para Inteligencia Artificial Intel ha lanzado su procesador Xeon Phi en la Conferencia Internacional de Supercomputación de Alemania. El procesador
6. PROCESADORES SUPERESCALARES Y VLIW
6. PROCESADORES SUPERESCALARES Y VLIW 1 PROCESADORES SUPERESCALARES Y VLIW 1. Introducción 2. El modelo VLIW 3. El cauce superescalar 4. Superescalar con algoritmo de Tomasulo 2 PROCESADORES SUPERESCALARES
CAPITULO 1 INTRODUCCION AL PROYECTO
CAPITULO 1 INTRODUCCION AL PROYECTO 1 INTRODUCCION AL PROYECTO 1.1 Marco Teórico Los procesadores digitales de señales ganaron popularidad en los años sesentas con la introducción de la tecnología de estado
Pruebas de escritorio
Pruebas de escritorio Es un proceso que consiste en hacer seguimiento a un algoritmo recorriendo sus líneas simulando el funcionamiento del procesador del computador. Ejemplo: Realizar un algoritmo que
Tema 6 Organización y gestión de la memoria
Departamento de Tecnologías de la Información Tema 6 Organización y gestión de la memoria Ciencias de la Computación e Inteligencia Artificial Índice 6.1 Organización de la memoria en tiempo de ejecución
HOJA DE CONTROL DE CAMBIOS EN LA NORMATIVA INTERNA DE EP PETROECUADOR
HOJA DE CONTROL DE CAMBIOS EN LA NORMATIVA INTERNA DE EP PETROECUADOR TIPO DE DOCUMENTO: MACROPROCESO (SI APLICA): PROCESO (SI APLICA): IDENTIFICACIÓN DEL DOCUMENTO Procedimiento: H01.02.03-PR- Mantenimiento
Memoria Cache. Departamento de Arquitectura de Computadores
Memoria Cache Departamento de Arquitectura de Computadores Índice Introducción. Conceptos básicos Características de los sistemas de memoria Jerarquías de memoria Memoria Principal Características físicas
PROGRAMA DE LABORATORIO SECCIÓN: ÁREA A LA QUE PERTENECE: POS-REQUISITO: AUXILIAR:
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERÍA ESCUELA DE CIENCIAS PROGRAMA DE LABORATORIO CÓDIGO: 777 CRÉDITOS: 4 NOMBRE CURSO: ESCUELA: PRE-REQUISITO: Organización de Lenguajes y Compiladores
Metodología para la solución de problemas programables
Metodología para la solución de problemas programables Nosotros efectuamos día a día una serie de pasos, acciones y procedimientos para solucionar problema y esto es de forma natural y casi inconscientemente
Organización lógica Identificación de bloque
Cómo se encuentra un bloque si está en el nivel superior? La dirección se descompone en varios campos: Etiqueta (tag): se utiliza para comparar la dirección requerida por la CPU con aquellos bloques que
Anexo. Control de errores
Anexo. Control de errores Tipos de errores Los errores en un programa o algoritmo se pueden clasificar de la siguiente manera Errores de compilación Los errores de compilación no permiten la ejecución
CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES SYLLABUS ARQUITECTURA DE COMPUTADORES
Facultad de Ingeniería en Ciencias Aplicadas pág. 1 CARRERA DE INGENIERÍA EN SISTEAS COPUTACIONALES SYLLAUS ARQUITECTURA DE COPUTADORES 1. ISIÓN La Carrera de Ingeniería en Sistemas Computacionales forma
Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática
Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso 2013-2014. 1º Grado en Informática Práctica 2: Memoria dinámica y Bibliotecas Objetivos Practicar conceptos
Tema 1. Introducción y Conceptos Generales. Informática I Biblioteconomía y Documentación
Tema 1 Introducción y Conceptos Generales Introducción Definición, elementos y aplicaciones de la informática Antecedentes La máquina Von Neumann Lenguajes de programación Tipos de ordenadores Soporte
Nombre de la asignatura: Algoritmos y Lenguajes de programación.
Nombre de la asignatura: Algoritmos y Lenguajes de programación. Créditos: 2-4- 6 Aportación al perfil Dominar la lógica necesaria para aprender lenguajes de programación de alto nivel para poder resolver
ACTIVIDAD: Control de Lectura # 1: Benchmarking para Competir con Ventaja Por: Roberto J. Boxwell. MATERIA: Ingeniería de Software.
UNIVERSIDAD DON BOSCO FACULTAD DE INGENIERIA ESCUELA DE COMPUTACION CICLO II/2008 ACTIVIDAD: Control de Lectura # 1: Benchmarking para Competir con Ventaja Por: Roberto J. Boxwell MATERIA: Ingeniería de
La última versión disponible cuando se redactó este manual era la 5 Beta (versión ), y sobre ella versa este manual.
Manual de Dev-C++ 4.9.9.2 Página 1 de 11 Introducción Dev-C++ es un IDE (entorno de desarrollo integrado) que facilita herramientas para la creación y depuración de programas en C y en C++. Además, la
DES: Programa(s) Educativo(s): Tipo de materia: Clave de la materia: Semestre: Área en plan de estudios:
UNIVERSIDAD AUTÓNOMA DE CHIHUAHUA Clave: 08MSU0017H Clave: 08USU4053W FACULTAD DE INGENIERÍA PROGRAMA DEL CURSO: INGENIERÍA DE SOFTWARE Y COMPUTACIÓN I DES: Programa(s) Educativo(s): Tipo de materia: Clave
Tema 7. Generación de código
Departamento de Tecnologías de la Información Tema 7 Generación de código Ciencias de la Computación e Inteligencia Artificial Índice 7.1 Visión general 7.2 Código de tres direcciones 2 Índice 7.1 Visión
FACULTAD DE INGENIERÍAS INGENIERIA DE SISTEMAS ARQUITECTURA DEL COMPUTADOR TECNICO
FACULTAD DE INGENIERÍAS INGENIERIA DE SISTEMAS ARQUITECTURA DEL COMPUTADOR TECNICO 02002222 3 (Tres) 48 Horas 96 Horas 3017564812 [email protected] Ing. Javier Castro 9:30 am a 3:30 pm MMC El poder
Bloques Aritméticos - Multiplicadores
Bloques Aritméticos - Multiplicadores La multiplicación es una operación cara (en términos de recursos) y lenta Este hecho ha motivado la integración de unidades completas de multiplicación en los DSPs
SISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos
TEMA 2 Diseño de Algoritmos 7 2. DISEÑO DE ALGORITMOS 2.1. Concepto de Algoritmo En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latín, dixit algorithmus
Enteros. Son los números que no contienen componentes fraccionarios y, por tanto, no contienen punto decimal.
LENGUAJE DE PROGRAMACIÓN TURBO PASCAL El lenguaje de programación de alto nivel Pascal fue diseñado el 1968 por Niklaus Wirth con una finalidad eminentemente pedagógica El 1983, el Pascal fue estandarizado
Estructura del Computador
Estructura del Computador 1 definiciones preliminares Estructura: es la forma en que los componentes están interrelacionados Función: la operación de cada componente individual como parte de la estructura.
Profesor(a): M. A. Zeferino Galarza Hernández
Área Académica: Informática IV Tema: Algoritmos Profesor(a): M. A. Zeferino Galarza Hernández Periodo: Enero-junio de 2012 IV Semestre. Asignatura: Informática IV Tema: Algoritmos Abstract Contains and
Actividad de Evaluación Brandon Emmanuelle Cuevas Rangel GPO: 303 Carrera: Informática 3er Semestre Joel Rocha Barocio Cienega de Flores N.L.
Actividad de Evaluación 2.4.1 Brandon Emmanuelle Cuevas Rangel GPO: 303 Carrera: Informática 3er Semestre Joel Rocha Barocio Cienega de Flores N.L. Las técnicas de programación constituyen parte fundamental
TEMA 2. CONCEPTOS BÁSICOS DE ALGORÍTMICA
TEMA 2. CONCEPTOS BÁSICOS DE ALGORÍTMICA 2.1 Deición de Algoritmo Un algoritmo es una secuencia precisa de operaciones (pasos) que resuelven un problema en un tiempo ito. Solución(problema) ALGORITMO(Solución(problema))
PROGRAMACIÓN. UNIDAD II. ALGORITMO PROFA : HAU MOY
PROGRAMACIÓN. UNIDAD II. ALGORITMO PROFA : HAU MOY ALGORITMO DEFINICIÓN: CONSISTE EN LA DESCRIPCIÓN CLARA Y DETALLADA DEL PROCEDIMIENTO A SEGUIR PARA ALCANZAR LA SOLUCIÓN A UN PROBLEMA EN DONDE SE ESTABLECE
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
Computación Paralela Móvil
Algoritmos y Programación Paralela Facultad de Informática Universidad de Murcia Copyleft c 2008. Reproducción permitida bajo los términos de la licencia de documentación libre GNU. Contenido 1 Introducción
