1420_ADSD-Program(1)

4
1 UNIVERSIDAD DE LOS ANDES DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA PREGRADO EN INGENIERÍA ELÉCTRICA Y ELECTRÓNICA ARQUITECTURA Y DISEÑO DE SISTEMAS DIGITALES IELE 32222 DESCRIPCIÓN El desarrollo de soluciones electrónicas modernas requiere de un manejo eficiente de recursos para optimizar elementos como costo y tiempos de diseño. Soluciones complejas pueden ser desarrolladas en menores tiempos utilizando alternativas tecnológicas apropiadas y técnicas de diseño estructuradas, así como empleando herramientas que automaticen etapas críticas del proceso. En este curso se abordan técnicas y tecnologías de diseño modernas, contextualizadas a través de los elementos básicos del nivel hardware de las arquitecturas con base en microprocesadores. Se estudian diferentes niveles de arquitecturas de computadores: nivel lógico, nivel de microprogramación, nivel de lenguaje de ensamble, nivel de sistema operativo. Se busca fomentar en el estudiante la actualización continua en esta área y facilitar la comprensión de elementos básicos en tecnologías afines emergentes. PRERREQUISITOS: Sistemas Electrónicos Digitales (IELE3220), Algorítmica y Programación (ISIS1204) CORREQUISITOS: Laboratorio de Arquitectura y Diseño de Sistemas Digitales (IELE3222L) DEDICACION: 3 CREDITOS HORAS TEORICAS: 3h/semana LABORATORIO: 2h/semana TRABAJO INDIVIDUAL: 3h/semana OBJETIVOS 1) GENERAL: Al finalizar el curso el estudiante estará en capacidad de identificar y utilizar elementos hardware y elementos software constitutivos de un sistema basado en microprocesador, pasando por los diferentes niveles de programación: lenguaje de máquina, lenguaje de ensamble, microprogramación, lenguaje de alto nivel hasta lenguaje de sistema operativo. 2) E0. Conocer el estado actual y tendencias de tecnologías basadas en procesadores y microcontroladores. 3) E1. Resolver problemas con soluciones tipo hardware, caracterizando adecuadamente la solución y teniendo en cuenta restricciones de síntesis 4) E2. Identificar los elementos constitutivos de un sistema basado en procesador. 5) E3. Resolver problemas basados en algoritmos secuenciales utilizando elementos básicos constitutivos de un procesador por medio de máquinas de estado algorítmicas (Datapaths) 6) E4. Resolver problemas identificando los recursos hardware y software necesarios para una solución basada en arquitecturas microprocesadas 7) E5. Identificar elementos consitutivos de los Sistemas Operativos tales como tareas, prioridades, planificador de tareas y procesos de comunicación entre tareas. METAS DE APRENDIZAJE * Al finalizar este curso el estudiante habrá fortalecido sus competencias principalmente en: (e) capacidad para identificar, formular y solucionar problemas de ingeniería (k) capacidad para utilizar técnicas, destrezas y herramientas modernas de ingeniería necesarias para la práctica de la ingeniería. El curso aporta elementos importantes en el desarrollo de: (c) capacidad para diseñar sistemas, componentes o procesos que cumplan con las necesidades deseadas teniendo en cuenta restricciones realistas tales como económicas, políticas, sociales, éticas, de producción y sostenibilidad. (i) Reconocimiento de la necesidad y habilidad de aprender a lo largo de la vida Resumen*: (a) (b) (c) (d) (e) (f) (g) (h) (i) (j) (k)

description

Programda

Transcript of 1420_ADSD-Program(1)

Page 1: 1420_ADSD-Program(1)

1  

 

  UNIVERSIDAD DE LOS ANDES DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA PREGRADO EN INGENIERÍA ELÉCTRICA Y ELECTRÓNICA ARQUITECTURA Y DISEÑO DE SISTEMAS DIGITALES IELE 32222    

   DESCRIPCIÓN  El  desarrollo  de  soluciones  electrónicas  modernas  requiere  de  un  manejo  eficiente  de  recursos  para 

optimizar elementos como costo y tiempos de diseño. Soluciones complejas pueden ser desarrolladas en menores  tiempos utilizando  alternativas  tecnológicas apropiadas  y  técnicas de diseño estructuradas, así como  empleando  herramientas  que  automaticen  etapas  críticas  del  proceso.  En  este  curso  se  abordan técnicas y  tecnologías de diseño modernas, contextualizadas a  través de  los elementos básicos del nivel hardware  de  las  arquitecturas  con  base  en  microprocesadores.  Se  estudian  diferentes  niveles  de arquitecturas de computadores: nivel  lógico, nivel de microprogramación, nivel de  lenguaje de ensamble, nivel de  sistema operativo. Se busca  fomentar en el estudiante  la actualización continua en esta área y facilitar la comprensión de elementos básicos en tecnologías afines emergentes.   

PRERREQUISITOS:  Sistemas Electrónicos Digitales (IELE3220), Algorítmica y Programación (ISIS1204)  

CORREQUISITOS:  Laboratorio de Arquitectura y Diseño de Sistemas Digitales (IELE3222L)  

DEDICACION:  3 CREDITOS   HORAS TEORICAS: 3h/semana    LABORATORIO: 2h/semana TRABAJO INDIVIDUAL: 3h/semana  

OBJETIVOS  1) GENERAL: Al finalizar el curso el estudiante estará en capacidad de identificar y utilizar elementos hardware y elementos software constitutivos de un sistema basado en microprocesador, pasando por los diferentes niveles de programación: lenguaje de máquina, lenguaje de ensamble, microprogramación, lenguaje de alto nivel hasta lenguaje de sistema operativo.  

2) E0. Conocer el estado actual y tendencias de tecnologías basadas en procesadores y microcontroladores. 

3) E1. Resolver problemas con soluciones tipo hardware, caracterizando adecuadamente la solución y teniendo en cuenta restricciones de síntesis 

4) E2. Identificar los elementos constitutivos de un sistema basado en procesador. 5) E3.  Resolver  problemas  basados  en  algoritmos  secuenciales  utilizando  elementos  básicos 

constitutivos de un procesador por medio de máquinas de estado algorítmicas (Datapaths) 6) E4.  Resolver  problemas  identificando  los  recursos  hardware  y  software  necesarios  para  una 

solución basada en arquitecturas microprocesadas 7) E5. Identificar elementos consitutivos de los Sistemas Operativos tales como tareas, prioridades, 

planificador de tareas y procesos de comunicación entre tareas.  

 METAS DE APRENDIZAJE *  

Al finalizar este curso el estudiante habrá fortalecido sus competencias principalmente en: (e) capacidad para identificar, formular y solucionar problemas de ingeniería (k) capacidad para utilizar técnicas, destrezas y herramientas modernas de ingeniería necesarias para la práctica de la ingeniería.  El curso aporta elementos importantes en el desarrollo de:  (c) capacidad para diseñar sistemas, componentes o procesos que cumplan con las necesidades deseadas teniendo en cuenta restricciones realistas tales como económicas, políticas, sociales, éticas, de producción y sostenibilidad. (i) Reconocimiento de la necesidad y habilidad de aprender a lo largo de la vida  Resumen*: 

(a)  (b)  (c)  (d)  (e)  (f)  (g)  (h)  (i)  (j)  (k) 

Page 2: 1420_ADSD-Program(1)

2  

1  1  2  1  3  1  1  ‐‐  2  ‐‐  3 

Escala: (3) Aporte Alto, (2) Aporte Medio, (1) Aporte Bajo, (‐‐) No Aplica 

  

METODOLOGIA GENERAL 

El desarrollo del  curso es  teórico/práctico, busca desarrollar en  los estudiantes habilidades de diseño  a través de la apropiación de metodologías estructuradas apoyadas con herramientas modernas. Se enfrenta al  estudiante  continuamente  a  la  solución  de  problemas  de  diferentes  niveles  de  complejidad.  El laboratorio se estructura alrededor de proyectos de complejidad creciente, insertando coherentemente las técnicas y tecnologías que se abordan en clase.    

TEMAS:  1. INTRODUCCION Introducción y motivación a sistemas basados en procesadores y microcontroladores Metodologías de diseño digital 

2. DESCRIPCIÓN DE SISTEMAS EN HARDWARE  Elementos de los lenguajes, sintaxis. Tipos de descripciones Elementos para realizar un testbench Arquitecturas elementos de lógica programable (CPLDs y FPGAs) y síntesis. 

3. MÁQUINAS DE ESTADO ALGORÍTMICAS Tecnologías  (FPGA,  ASIC,  PC,  Micros  etc.  MEMORIAS).  Elementos  constitutivos  de  un  sistema computacional. Elementos básicos de una arquitectura Mapas de Memoria: Mapas de IO y de memoria. Direccionamiento Elementos necesarios para la construcción de un algoritmo: Macroalgoritmo y seudoalgoritmo Soluciones HW VS soluciones SW: Operación de los datapaths y clases de datapaths Datapaths Escalares, Vectoriales:  Indicadores de diseño (Tamaño vs Ciclos) 

4. PROCESADORES Y MICROPROCESADORES Recorrido  por  lenguaje  de  máquina,  assembler  hasta  lenguaje  de  alto  nivel.  Modos  de direccionamiento. Assembler : Instrucciones básicas y su significado. Stack y Rutinas Arquitectura caso de estudio Arquitecturas más generales y comerciales Programación en C. Apuntadores y estructuras Herramientas SW y HW (Programador y Board) para programación de microcontroladores Jerarquía de memoria / Interrupciones / Protocolos I2C, SPI, Serial 

5. SISTEMAS OPERATIVOS Esquemas de planeamiento y organización de tareas Tareas, prioridades, Semaforos, Colas, Mutex Compiladores Cruzados, Linux Embedded 

 LABORATORIO  

En el laboratorio se desarrollan tutoriales sobre herramientas y 2 proyectos de complejidad creciente acordes al avance temático del curso.   Proyecto  1  – Máquinas  de  estado  algorítmicas. Desarrollo  de  proyecto  en  FPGA  con  descripciones  en lenguajes  de  alto  nivel;  implementando  arquitecturas  básicas  que  permitan  una  comparación  entre soluciones basadas en elementos hardware y en elementos software. Proyecto 2 – Microcontroladores Asembler y C. Desarrollo de proyecto en microcontrolador con lenguajes como asembler y C; implementando sistemas que modelen soluciones basadas en elementos software.   

* METAS DE APRENDIZAJE DE  LOS  PROGRAMAS  DE INGENIERÍA ELÉCTRICA/ELECTRÓNICA 

(a) capacidad para aplicar conocimientos de matemáticas, ciencias e ingeniería. (b) capacidad para diseñar y conducir experimentos, como también para analizar e interpretar datos. (c) capacidad para diseñar sistemas, componentes o procesos que cumplan con las necesidades deseadas teniendo en cuenta restricciones realistas tales como económicas, políticas, sociales, éticas, de producción y sostenibilidad. (d) capacidad para trabajar en equipos multidisciplinarios. (e) capacidad para identificar, formular y solucionar problemas de ingeniería (f) comprender la responsabilidad ética y profesional (g) capacidad para comunicar eficazmente (h) amplia educación necesaria para entender el impacto de  las soluciones de  la  ingeniería en el contexto global, económico, ambiental y social (i) reconocer la necesidad y ser capaz de comprometerse con un aprendizaje de por vida 

Page 3: 1420_ADSD-Program(1)

3  

(j) conocimiento de temas contemporáneos (k)  capacidad para utilizar  técnicas, destrezas y herramientas modernas de  ingeniería necesarias para  la práctica de la ingeniería  

Desempeños particulares / Aporte a metas  a  b  c  d  e  f  g  h  i  j  k 

1. Identificar  y  resolver  problemas  de  solución microprocesada.  

a. Dado  un  problema  identificar  partes  y procesos cuya solución sea de  realización eficiente  a  través  de  arquitecturas  con procesador. 

b. Dimensionar  y  seleccionar adecuadamente  arquitecturas,  recursos  y desempeños  necesarios  para  desarrollar una solución  

X    X    X            X 

2. Identificar arquitecturas básicas de procesadores así como  sus  elementos  y  función  dentro  de  la microarquitectura. 

a.  Dada una arquitectura de un procesador: identificar  y  analizar  los  elementos principales,  identificar  elementos complementarios y determinar fácilmente su función dentro de la arquitectura  

X    X    X            X 

3) Manejar  y  comprender  los  diferentes  niveles  de descripción software (SW)  a. Identificar  y  plantear  esquemas  de  ejecución 

de instrucciones a nivel de máquina  b. Emplear  eficientemente  un  conjunto  de 

instrucciones a nivel de  lenguaje de ensamble, en la descripción de soluciones algorítmicas  

c. Manejar  adecuadamente  el  bajo  nivel  de microprocesadores  y  microcontroladores  a través  de  lenguajes  y  herramientas  de  alto nivel  

d. Manejar  los elementos básicos de un sistemas operativo  orientado  a  aplicaciones  de  tiempo real  

X    X    X            X 

  

BIBLIOGRAFÍA  1. Computer Systems Design and Architecture. Vincent P. Heuring, Harry F. Jordan. 2nd Edition. Prentice Hall (2004)  

2. Computer architecture a quantitative approach, David A. Patterson, Hennessy, John L,3th ed. (2003).  3. Computers as Components: Principles of Embedded Computing System Design, Wayne Wolf, 2nd Ed. 

Morgan Kaufmann (2008)  4. Principles of Computer Architecture, Miles J. Murdocca, 2nd Ed. Prentice Hall (2004)  5. Computer  Organization  and  Architecture:  Designing  for  Performance,  7th  Ed.  William  Stallings, 

Prentice Hall (2005)  6. Structured Computer Organization, Andrew S. Tanenbaum, 4th Ed. Prentice‐Hall (1999)  7. Microcontrollers And Microcomputers: Principles of Software and Hardware Engineering, Frederick M. 

Cady, Oxford University Press (2005)  8. Fundamentals of Digital Logic with VHDL Design, Stephen Brown, Zvonko Vranesic, 2nd Ed. McGraw‐

Hill (2004)  9. Técnicas y Tecnologías de Alto Nivel: VHDL. M. Guerrero, A. García y F. Segura. 2a Ed. Ediciones 

Uniandes (2002)  

REVISIONES 

Julio 2013  Dentro del contexto de reforma de los programas de pregrado 2013

Julio 2014  Se organiza de forma diferente el desarrollo del curso. Proyecto ViDito 2014 (Fredy Segura) 

   

Page 4: 1420_ADSD-Program(1)

4  

FICHA DEL CURSO  

2014‐20   

PROFESOR(ES)  SECCION 1 Profesor        Fredy Segura Q.    [email protected]  of. ML‐314 Horario        Martes y Jueves                   10:00 – 11:30  AU‐206 y AU‐206 Asistente       Andres Felipe Rengifo Sanchez [email protected]  LABORATORIOS Sección 1       Lunes 10:00 – 11:30  (ML 004) Sección 1       Miercoles 15:30 – 17:00  (ML 009) 

EVALUACIÓN  3 Parciales       20%, c/u Laboratorio      40% 

METODOLOGIA  - Se deben preparar los temas antes de la clase. En sicuaplus aparecerán las indicaciones previas a cada clase. - En  la clase magistral se desarrollarán talleres guiados,  los cuales deben terminarse en cada sesión. El objetivo

de los talleres es mostrar los aspectos fundamentales de la teoría. Por ende son un excelente preparatorio para los exámenes.  

- En la sesión práctica (laboratorio) se realizarán proyectos de análisis y diseño relacionados con los temas vistos en  clase,  al  igual  que  se  enseñarán  tópicos  técnicos  adicionales  y  el  manejo  de  equipos  y  herramientas computacionales. Se realizarán tutoriales para reforzar algunos conceptos y habilidades específicas. 

REGLAS  Aprobación del curso y aproximaciones - Para aprobar el curso es necesario obtener una nota definitiva superior o igual a 3.0 - Hay  aproximaciones  a  la  nota  final  del  orden  de  centésimas. Una  notal  final  de  2.987  se  aproxima  a  2.99. 

Inasistencias a prácticas de laboratorio y evaluaciones deben ser  justificadas correctamente según reglamento. De lo contrario, la calificación final de dicha actividad será de cero (0).  La  asistencia  a  clase  será  tenida  en  cuenta  según  lo  establecido  en  el  reglamento  de  la Universidad. Dicha asistencia  será  tomada  por  medio  de  listas  en  cada  una  de  las  sesiones  (Magistral,  complementaria, laboratorios) Artículo 42. La Universidad considera que la inasistencia a clase impide un rendimiento académico adecuado. Es facultativo  de  cada  profesor  controlar  la  asistencia  de  sus  alumnos  y  determinar  las  consecuencias  de  la inasistencia, si esta es superior al 20% Artículo 43. Los parámetros para controlar la asistencia les serán informados a los estudiantes el primer día de clases, junto con el programa del curso, con el fin de que se comprometan a respetarlos desde ese momento