Download Interfaces y arquitectura de hardware y Laboratorio

Document related concepts
no text concepts found
Transcript
FACULTAD DE INGENIERÍA
DEPARTAMENTO CIENCIAS FÍSICAS Y TECNOLOGÍA
Código-Materia:
Requisito:
Programa – Semestre:
Período académico:
Intensidad semanal:
Créditos:
11325 - INTERFACES Y ARQUITECTURA HARDWARE Y
LABORATORIO
PRE: 11121 Lógica Digital y Laboratorio
COR: 11326 Espacio de Laboratorio de Interfaces y Arquitectura
Hardware.
Ingenierías: Telemática – Sexto semestre
Agosto a Noviembre de 2016
4 horas semanales + 2 horas de laboratorio.
4
Motivación
La integración entre el hardware y el software de dispositivos embebidos junto con la
incorporación de servicios de internet, juegan un papel importante en el diseño de sistemas teleinformáticos. Para ello, es importante que el estudiante adquiera criterios que le permita aplicar y
seleccionar los tipos de arquitecturas y tecnologías hardware más adecuadas incluyendo los
“System on Chip” (SoC). Por tal razón, el curso de Interfaces y Arquitectura Hardware Incluye un
estudio de la relación hardware-software y se cubren aspectos generales de la arquitectura de los
dispositivos de cómputo tales como: desempeño, conjunto de instrucciones, CPUs tipo RISC y CISC,
jerarquías de memorias, dispositivos periféricos y de almacenamiento, así como la utilización de
interfaces de comunicación y de entrada/salida más comunes en sistemas embebidos. Dentro de
los roles del ingeniero telemático, es importante además, que el estudiante pueda verificar el
cumplimiento de los requisitos establecidos con criterios técnicos a través de medidas de
desempeño y diseño y conducción de experimentos sobre sistema de cómputo.
Objetivos
General
 Evaluar como las estructuras hardware y componentes software de un computador
afectan el rendimiento y la utilidad de los programas de aplicación en el procesamiento,
almacenamiento y transporte de información, haciendo énfasis en las diferentes interfaces
de entrada/salida y de comunicación disponibles en los sistemas embebidos emergentes.
Terminales:
Al finalizar el curso el estudiante estará en capacidad de:
1. Identificar los diferentes niveles de abstracción usados para estudiar los componentes
funcionales de un sistema de cómputo y comprender la interrelación entre sus elementos
hardware internos con los componentes de software y las diferentes alternativas de
interfaces de entrada / salida.
Interfaces y arquitectura de Hardware y Laboratorio
Página 1 de 11
FACULTAD DE INGENIERÍA
DEPARTAMENTO CIENCIAS FÍSICAS Y TECNOLOGÍA
2. Examinar las limitaciones de los diferentes formatos de representación de datos
empleados en los lenguajes de programación y reconocer además como dichas
limitaciones afectan el rendimiento de los sistemas de cómputo desde la perspectiva del
programador.
3. Relacionar las estructuras básicas de programación secuencial usadas en lenguaje de alto
con su equivalente en lenguaje ensamblador tanto para procesadores RISC y CISC e inferir
como dicho tipo de arquitectura junto con los demás elementos funcionales del
computador (sistema de memoria, sistema de entrada y salida, sistema operativo, entre
otros) afecta el rendimiento y la utilidad de los programas de aplicación y sugerir formas
de minimizar dicho impacto.
4. Implementar sistemas y servicios informáticos básicos sobre sistemas embebidos
incluyendo aspectos de interfaces de comunicación y computación física.
5. Comprobar y validar hipótesis sobre aspectos del comportamiento o desempeño del
sistema de cómputo y relaciones entre los componentes hardware y software, aplicando
para ello la metodología de diseño y conducción de experimentos, así como analizar e
interpretar datos con el fin de emitir un juicio o conclusión referente a.
Específicos
De formación académica:
UNIDAD 1: Introducción A La Estructura y Arquitectura De Los Computadores
Objetivos específicos:
 Identificar los niveles de descripción de un computador convencional y su estructura
básica.
 Ser capaz de identificar la frontera software-hardware, explorando los niveles del
hardware conectados a este punto de contacto.
 Dar razón de la evolución de la computación desde el punto de vista de Arquitectura
Von Neumann.
Contenido:
 Introducción general a la estructura de computadores. Niveles de abstracción de
un computador y repaso del nivel de lógica Digital.
 Generalidades sobre el curso e introducción los conceptos de máquinas Von
Neumann. (8 horas)
Actividades de laboratorio:
 Discusión general de la estructura de un PC convencional. (Semana 1)
Interfaces y arquitectura de Hardware y Laboratorio
Página 2 de 11
FACULTAD DE INGENIERÍA
DEPARTAMENTO CIENCIAS FÍSICAS Y TECNOLOGÍA
UNIDAD 2: Aritmética del Computador.
Objetivos específicos:
 Examinar las ventajas de la aritmética “en complemento a 2” con respecto a otros
sistemas de numeración.
 Manejar formatos de numeración en punto flotante mediante ejemplos concretos.
 Describir cómo opera una unidad aritmética y una Unidad de punto flotante.
 Identificar las limitaciones de los sistemas de numeración y reconocer los inconvenientes
que puede ocasionar los cambios de tipo formato en los datos y análisis de errores por
redondeo, truncamiento y desbordamiento.
Contenido:
 Aritmética del computador: operaciones aritméticas con números positivos y negativos
con énfasis en aritmética “Complemento a 2” y el empleo de notación hexadecimal;
revisión de otros sistemas de numeración.

Generalidades sobre cantidades y operaciones en punto flotantes: números, formatos y
descripción de algunas aplicaciones y restricciones de las unidades de punto flotante en el
manejo de la información.

Análisis de errores de la aritmética del computador.

Las banderas como bits de información adicional a las operaciones realizadas por la ALU.

Información no numérica. Códigos ASCII y Unicode
Actividades de laboratorio:
 Interconexión y Simulación de una ALU típica de 8 bits usando Quartus II. (Semana
3-4)
UNIDAD 3: Organización De Una CPU
Objetivos específicos:
 Detallar la organización interna básica de una CPU típica.
 Explicar el concepto de programa almacenado, la representación de las instrucciones en
memoria de una computadora y los pasos para su ejecución en un esquema basado en
buses.
 Identificar la relación entre lenguaje máquina y lenguaje ensamblador.
Contenido:
 Estructura interna aplicable a toda CPU: Unidad aritmética – lógica, registros internos,
unidades de control alambradas y micro-programadas.
Interfaces y arquitectura de Hardware y Laboratorio
Página 3 de 11
FACULTAD DE INGENIERÍA
DEPARTAMENTO CIENCIAS FÍSICAS Y TECNOLOGÍA




Relación entre Instrucciones en lenguaje de máquina y ensamblador y lenguajes de alto
nivel.
Proceso detallado de las diferentes fases en el tratamiento de las instrucciones por un
procesador: 1) Búsqueda en memoria de las instrucciones (Fetch); 2) decodificación y 3)
ejecución.
Actividades de laboratorio:
Módulo 3: Diseño y simulación de un procesador RISC simple de 8 bits, utilización de la
ALU, registros, y bloques constructores vistos en la capa de lógica Digital (multiplexores,
de-multiplexores, decodificadores, codificadores, etc.). (Semana 5 - 6).
Interconexión de la CPU diseñada con un sistema de memoria básico. Analizar las fases de
tratamiento de una instrucción y concepto de lenguaje máquina. (Semana 7-8)
UNIDAD 4: Arquitectura Del Conjunto De Instrucciones: Interfaz Hardware / Software.
Objetivos específicos:



Explicar los pasos requeridos para cargar y ejecutar un programa que es escrito en
lenguaje de alto nivel en un sistema de cómputo.
Estar en capacidad de traducir un programa corto de alto nivel (sentencias
secuenciales básicas) a lenguaje ensamblador y dar razón de lo que sucede en cada
una de las capas de abstracción del sistema de cómputo.
Establecer las diferencias generales en el lenguaje ensamblador que se genera al
compilar aplicaciones sobre plataformas de 32 y 64 bits.
Contenido:
 Estudio del conjunto de instrucciones de procesadores de uso comercial de equipos de
escritorio y dispositivos móviles.
 Tipos de ISA: Procesadores RISC semejanzas y diferencias con los CISC.
 Estructura básica interna, características básicas del hardware y conjunto de
instrucciones en los procesadores Intel y procesadores ARM.
 Modos de direccionamiento, manejo de la pila; subrutinas; ejemplos.
Actividades de laboratorio:
 Módulo 3: Programación Básica en Lenguaje Ensamblador. Ejemplos y ejercicios sobre un
Software de emulación de procesadores INTEL y ARM (semana 9-10)
 Módulo 5: Prácticas Avanzadas –Análisis de Subrutinas e Interrupciones (Semana 12-13)
UNIDAD 5: Sistema de Memoria y Sistema de Entrada/Salida
Objetivos específicos:
Interfaces y arquitectura de Hardware y Laboratorio
Página 4 de 11
FACULTAD DE INGENIERÍA
DEPARTAMENTO CIENCIAS FÍSICAS Y TECNOLOGÍA



Dar razón de las jerarquías de memoria y poder diferenciar capacidades, rapidez y
costos.
Explicar el proceso completo que se lleva a cabo en el manejo de las interrupciones
por parte del procesador y demás componentes hardware.
Reconocer los “sockets interfaces” como conjunto de funciones que se utilizan en
conjunción con las funciones de E/S del sistema operativo para construir aplicaciones
de red.
Contenido:
 Organización jerárquica de la memoria, memoria principal y memoria secundaria.
 Memoria caché, concepto y descripción, análisis de prestaciones, métodos de
implementación típico. Ejemplos.
 Mecanismos generales de la comunicación con los periféricos y de su control por la
CPU: Interrupciones de varias clases y procesos de atención a las mismas.
 Introducción a los sockets, estructura de direccionamiento de sockets, las funciones
socket en UNIX/Linux, ejemplo básico de cliente servidor.
 Puertos de entrada y salida (I/O digitales, ADC, RS232, USB, 1wire)
Actividades de laboratorio:
 Manejo de puertos digitales y puerto RS232 sobre el PC embebido Raspberry Pi.
(Semana 14)
 Sobre el simulador del Sistema microprocesador didáctico MSX88, se comprueba la
técnica de interrupciones y subrutinas de atención de servicio. (Semana 15)
 Implementación de un sistema básico cliente servidor usando paso de mensajes e
integración con sensores y actuadores y servicios Web.
UNIDAD 6: Diseño Y Análisis de Experimentos Sobre Sistemas De Cómputo
Objetivo:
 Identificar las etapas en el diseño de experimentos: objetivo, número de factores
primarios y secundarios. Fuentes de ruido.
 Aplicar el diseño y conducción de un experimento partiendo de una hipótesis
relacionada con el desempeño y comportamiento de un sistema de cómputo.
 Interpretar y analizar los datos obtenidos en un experimento para diferentes
configuraciones de computadores y relacionar dichos resultados con los componentes
hardware y software específicos.
 Aplicar técnicas de evaluación de desempeño en plataformas RISC y CISC.
 Describir las técnicas a nivel de microarquitectura que permiten mejorar la eficiencia y
desempeño de los procesadores modernos.
Interfaces y arquitectura de Hardware y Laboratorio
Página 5 de 11
FACULTAD DE INGENIERÍA
DEPARTAMENTO CIENCIAS FÍSICAS Y TECNOLOGÍA
Contenido:
 Escenarios e importancia de las métricas de desempeño.
 Benchmarking, Benchmarks clásicos (Whetstone, Dhrystone, Linpack y Livermore) para
medición de desempeño de los sistemas embebidos.
 Planteamiento y declaración de hipótesis y objetivo de un experimento
 Importancia del diseño de los experimentos y Definición de variables, factores
primarios y secundarios, restricciones de un experimento.
 Tipos y etapas de experimentos adecuadas sobre sistemas de cómputo.
 Análisis e interpretación de datos arrojados de un experimento aplicando técnicas y
herramientas de estadística.
Actividades de laboratorio:
 Estimación de parámetros usando datos experimentales (aplicación de inferencia
estadística)

Diseño y conducción de varios experimento para responder cuestiones sobre el
rendimiento de la memoria RAM y CPU Vs un programa de aplicación.
De formación en valores y capacidades






La tolerancia, y no en el sentido de desinterés por lo que piensa el otro sino más bien
promover el respeto activo, el interés por comprender a los otros y por ayudar a cumplir
los objetivos de aprendizaje.
La autonomía e interés de querer ir más allá de los que se enseña. La perseverancia a
través del desarrollo de los ejercicios y de talleres y que la motivación simplemente no se
una nota si no su autoformación y amor por aprender cosas nuevas.
La capacidad de análisis, a través de la identificación y evaluación de los componentes
necesarios para resolver un problema planteado.
La capacidad cooperación y comunicación, ya que se deben presentar las soluciones a los
problemas propuestos de una manera clara para los demás participantes del curso.
La capacidad de trabajo bajo presión, ya que se cuenta con tiempos limitados para algunas
actividades.
Trabajo en equipo, se refiere a equipos más o menos numerosos de personas que trabajan
en un mismo proyecto y que son multidisciplinares, ya que el proyecto final se realizará en
conjunto con los estudiantes de ingeniería telemática.
Interfaces y arquitectura de Hardware y Laboratorio
Página 6 de 11
FACULTAD DE INGENIERÍA
DEPARTAMENTO CIENCIAS FÍSICAS Y TECNOLOGÍA
Metodología
Presentación, lecturas y discusión de los temas teóricos; quices, preguntas, trabajo individual y
en grupos; mediante guía del profesor el estudiante inferirá la manera como operan los
principales componentes hardware de una máquina de cómputo; proyectos de fin de curso.
Los alumnos estudiarán materiales basados en el texto guía, libros de referencia, notas del
curso, e información extraída del Internet, de revistas, etc., para discusión en clase.
Experimentos de laboratorio: Simulación de algunos componentes funcionales de un
computador Preparación y ejecución de programas en lenguaje en ensamblador para la
arquitectura IA32/64; simulación de la operación de un microprocesador didáctico;
Compilación y ejecución de programas sobre una arquitectura real y su uso por un sistema
operativo real.
Ayudas docentes tales como videos, proyecciones y uso de programas licenciados y
“freeware”.
Actividades del estudiante
Antes de la clase:
•
Estudiar el material asignado para cada sesión, para ello debe consultar en moodle
los temas de estudio de la unidad.
•
Responder las preguntas de preparación de cada tema.
•
Resolver los ejercicios propuestos para aplicar los conceptos estudiados.
•
Escribir las inquietudes y observaciones surgidas en el proceso de preparación del
tema.
Durante la clase:
•
Los estudiantes deben participar activamente (compartir experiencias, transmitir
las dudas para ser aclaradas) en las actividades asignadas para cada tema
partiendo del conocimiento previo adquirido a través de la lectura y de la
elaboración de los informes.
•
Realizar los ejercicios complementarios que el profesor indique.
Después de la clase:
•
Terminar los ejercicios presentados en cada clase.
•
Resolver los ejercicios propuestos por el profesor.
•
Aplicar los conocimientos y técnicas aprendidas en la realización de los ejercicios
de cada tema.
Interfaces y arquitectura de Hardware y Laboratorio
Página 7 de 11
FACULTAD DE INGENIERÍA
DEPARTAMENTO CIENCIAS FÍSICAS Y TECNOLOGÍA
Evaluación
Evaluaciones Individuales (70% de la nota final):
Ponderación
Global
Evaluación
Individual
Evaluación
Grupal
70%
30%
Primer Examen Parcial (1P)
Semana 7 - Miércoles 14 septiembre.
Segundo Examen parcial (2P)
Semana 11 - Miércoles 12 de octubre.
Tercer Examen Parcial y final (3P)
Semana 17 – Miércoles 23 noviembre
Tareas y verificaciones de estudio (TAR)
Proyecto final (PF)
Trabajo de laboratorio:
(LAB)
a) Primer Parcial (1P)
28%
19,60%
28%
19,60%
28%
16%
19,60%
11,20%
50%
15,00%
50%
15,00%
100%
(7a.semana)
Objetivos de aprendizaje:
Identificar los niveles de descripción de un computador convencional y su estructura básica.
Ser capaz de identificar la frontera software-hardware, explorando los niveles del hardware
conectados a este punto de contacto.
Dar razón de la evolución de la computación desde el punto de vista de Arquitectura Von Neumann.
Examinar las ventajas de la aritmética “en complemento a 2” con respecto a otros sistemas de
numeración.
Manejar formatos de numeración en punto flotante mediante ejemplos concretos.
Describir cómo opera una unidad aritmética y una Unidad de punto flotante.
Identificar las limitaciones de los sistemas de numeración y reconocer los inconvenientes que puede
ocasionar los cambios de tipo formato en los datos y análisis de errores por redondeo,
truncamiento y desbordamiento.
Detallar la organización interna básica de una CPU típica
b) Segundo parcial (2P)
Interfaces y arquitectura de Hardware y Laboratorio
(11a.semana)
Página 8 de 11
FACULTAD DE INGENIERÍA
DEPARTAMENTO CIENCIAS FÍSICAS Y TECNOLOGÍA
Objetivos de aprendizaje:
Explicar el concepto de programa almacenado, la representación de las instrucciones en memoria de
una computadora y los pasos para su ejecución en un esquema basado en buses.
Identificar la relación entre lenguaje máquina y lenguaje ensamblador
Explicar los pasos requeridos para cargar y ejecutar un programa que es escrito en lenguaje de
alto nivel en un sistema de cómputo.
Estar en capacidad de traducir un programa corto de alto nivel (sentencias secuenciales básicas) a
lenguaje ensamblador y dar razón de lo que sucede en cada una de las capas de abstracción del
sistema de cómputo.
Establecer las diferencias generales en el lenguaje ensamblador que se genera al compilar
aplicaciones sobre plataformas de 32 y 64 bits.
c) Tercer Parcial y final (3P)
(17a. semana)
Objetivos de aprendizaje:
Dar razón de las jerarquías de memoria y poder diferenciar capacidades, rapidez y costos.
Explicar el proceso completo que se lleva a cabo en el manejo de las interrupciones por parte del
procesador y demás componentes hardware.
Reconocer los “sockets interfaces” como conjunto de funciones que se utilizan en conjunción con
las funciones de E/S del sistema operativo para construir aplicaciones de red.
Reconocer la importancia de medir e interpretar las métricas de desempeño para sistemas de
cómputo.
Reconocer el consumo de potencia como un factor adicional a tener en cuenta en la evaluación de
sistemas de cómputo, especialmente al comparar arquitectura RISC vs CISC
Describir las técnicas a nivel de microarquitectura que permiten mejorar la eficiencia y desempeño
de los procesadores modernos
e) Tareas y quices (TAR)
Las verificaciones de estudio se hacen sin previo aviso y no tienen supletorio.
Evaluación Grupal (30% de la nota final):
f) Trabajo final escrito y sustentado (PF)
g) Trabajo de laboratorio: (LAB)
Interfaces y arquitectura de Hardware y Laboratorio
Página 9 de 11
FACULTAD DE INGENIERÍA
DEPARTAMENTO CIENCIAS FÍSICAS Y TECNOLOGÍA
La asistencia a las sesiones de laboratorio son obligatorias, la no asistencia corresponde a una nota
de cero (0.0)
Nota: La distribución de los objetivos asociados a las evaluaciones pueden variar de acuerdo a
cambios en las fechas de los exámenes o tiempo de apropiación y estrategias de aprendizaje. De
todas formas el profesor informará los objetivos que se evaluarán.
Forma de calcular la nota definitiva:
La nota definitiva (ND) se calcula de la siguiente manera:
La nota teórica (NT) está dada por: NT= 1P*0.28 + 2P*0.28 + 3P*0.28 + TAR*0.16
Si la nota teórica es mayor o igual a 3, entonces: ND= (NT*0.7) + PF*0.15 + LAB*0.15
Si la nota teórica es menor que 3 (NT<3) entonces la nota definitiva es: ND=NT
Bibliografía
Libros Guía.
Principal:
1. Computer Systems: A Programmer's Perspective, Randal E. Bryant, David R. O'Hallaron.
Addison Wesley Pub Co Inc; Edición: 0002 (1 de febrero de 2010).
Secundarios:
2. Digital Desing and Computer Architecture, David Money Harris & Sarah L. Harris. Morgan
Kaufmann; 1 edition (March 16, 2007)
3. Inside the Machine: An Illustrated Introduction to Microprocessors and Computer
Architecture. Jon M. Stokes, 1 edition (November 30, 2006)
Referencias generales

Microprocesadores de INTEL 8086/8088, 80186/80188, 80286, 80386, 80486, Pentium,
Prentium ProProcessor, Pentium II, III, 4. BREY, Barry B. Prentice Hall; 7 edición, 2005.

Digital Design and Computer Architecture, David Harris, Sarah Harris. Morgan Kaufmann; 1
edición, 2007.

Estructura de Computadores y Periféricos, R.J. Martínez, José A. Boluda, Juan J. Pérez,
Alfaomega Ra-Ma, 2001
Interfaces y arquitectura de Hardware y Laboratorio
Página 10 de 11
FACULTAD DE INGENIERÍA
DEPARTAMENTO CIENCIAS FÍSICAS Y TECNOLOGÍA

Arquitectura y Organización de Computadoras, Stallings W. , Prentice Hall
Interfaces y arquitectura de Hardware y Laboratorio
Página 11 de 11