Que estás buscando?
Algunas preguntas de los cuestionarios moodle están en Català, el resto en castellano
CE21: Conocer los fundamentos y aplicaciones de la electrónica digital y los microprocesadores.
CE24: Capacitar para diseñar sistemas electrónicos analógicos, digitales y de potencia.
Esta asignatura es la continuación de electrónica digital I. Mientras que en electrónica digital Y explican los bloques constituyentes de los sistemas digitales y aprende a sintetizar y analizar circuitos que resuelvan tareas sencillas, en este curso se plantea la construcción de un procesador sencillo programable en lenguaje assamblador.
La continuación de la asignatura de electrónica digital II es la asignatura de microprocesadores, donde básicamente se trabajará sobre un micro-controlador ARM cortex M4.
Esta asignatura dispone de recursos metodológicos y digitales para hacer posible su continuidad en modalidad no presencial en el caso de ser necesario por motivos relacionados con la Covidien-19. De esta forma se asegurará la consecución de los mismos conocimientos y competencias que se especifican en este plan docente.
El Tecnocampus pondrá al alcance del profesorado y el alumnado las herramientas digitales necesarias para poder llevar a cabo la asignatura, así como guías y recomendaciones que faciliten la adaptación a la modalidad no presencial
1. Implementa hardware utilizando componentes digitales discretos (SSI, MSI), programables (PLD), microprocesadores, microcontroladores y DSP. (CE21, CE28) |
2. Diseña algoritmos y escribe código en programas de alto y de bajo nivel. (CE23) |
3. Aplicar herramientas de programación de dispositivos PLD, microprocesadores, microcontroladores y DSP de los equipos digitales. (CE21) |
4. Selecciona de forma crítica los componentes adecuados para cada aplicación, interpretando y analizando sus características. (CE24) |
5. Manguera la terminología científico-técnica propia de los componentes electrónicos digitales en inglés. (CE21, CE24, CE28) |
6. Elabora informes técnicos de proyecto, evalúa alternativas y justifica sus análisis y criterios de diseño(CE21, CE24, CE28) |
Al finalizar la asignatura el estudiante debe ser capaz de:
El método docente de la asignatura sigue el que se ha denominado en el ICE de la UPC como método Pigmalión, que se puede resumir en los siguientes puntos:
1. Una meta final ambiciosa. Los estudiantes pasan de conocer circuitos digitales básicos a cómo está construido por dentro una computadora a diseñar con todo detalle un ordenador que está formado por unas 3.000 puertas lógicas. Esto es un elemento de motivación importante.
2. Un programa detallado de actividades: el que los alumnos deben realizar en clase y sobre todo fuera de clase. Después de cada clase de dos horas de teoría y problemas deben estudiar 1,5 horas y deben resolver una colección de ejercicios que les llevará aproximadamente 1,5 horas (estos ejercicios son cuestionarios Moodle de entrega electrónico y pueden ser otros más complejos de entrega en papel) y que deben entregar al inicio de la siguiente clase.
3. El programa de actividades tiene pasos asequibles y, poco a poco, se van logrando los objetivos de la asignatura (el final ambicioso motiva y los pasos asequibles hacen viable el camino).
4. El resultado de cada actividad del programa se materializa en una entrega, que pone de manifiesto si el alumno ha hecho la tarea. Se dan las soluciones de los ejercicios y problemas y también se dan los criterios de calidad para evaluarlos.
5. Mecanismos de feedback a tiempo (en base a las entregas del curso) para que el estudiante sepa cómo (y el profesor también): 1) Los estudiantes pueden saber inmediatamente si cada pregunta del cuestionario Moodle que han resuelto está bien o mal y pueden contestar las veces que lo deseen hasta responder correctamente. 2) Al inicio de cada clase se aclaran dudas de los ejercicios Moodle y se corrigen, en su caso, los problemas de entrega en papel que han hecho en casa, sabiendo si lo han hecho bien o mal. 3) En cada clase, en su caso, el alumno deberá resolver ejercicios de forma individual o en grupo que le indicarán cómo va. 4) Hay tres exámenes / controles de teoría y problemas y cuatro de laboratorio distribuidos durante todo el curso, que también dan feedback a tiempo.
6. Se preparan acciones específicas para los alumnos que tienen más dificultades (y también para los más avanzados): consultas particulares, talleres para la realización de problemas, etc.
7. Se utilizan técnicas de aprendizaje cooperativo para motivar a los alumnos a realizar las actividades. En las clases de teoría y problemas se usan técnicas de aprendizaje activo haciendo que las exposiciones del profesor sean cortas y que los estudiantes tengan que trabajar también en clase.
8. El método de calificación es un estímulo más para recorrer el camino, para hacer las actividades a tiempo, y por tanto para aprender.
9. Hay un plan de recogida sistemática de datos sobre la evolución del curso, y se usan estos datos como motor de un proceso de mejora continua.
T1. Introducción |
Una breve introducción a la información digital y su representación y los circuitos digitales, procesadores de propósito específico y al computador (modelo de Von Neumann) así como al lenguaje máquina y assamblador y su relación con los lenguajes de alto nivel (compilación / traducción). |
T2. Circuitos lógicos secuenciales |
Necesidades de memoria y sincronización. Señal de reloj. Definición de circuito secuencial síncrono. El biestable D activado por flanco: definición e implementación con dos multiplexores, tiempo de propagación y cronogramas. Reglas de interconexión para construir circuitos secuenciales válidos. Estructura de un circuito secuencial (modelos de Mealy y de Moore). Tabla de transiciones y tabla de salidas. Grafos de estado para el modelo de Moore. Cronogramas simplificados. Análisis lógica: del circuito al grafo de estados. Síntesis: de la especificación funcional al grafo de estados y de este último en el esquema lógico del circuito con el mínimo número de biestables. Análisis temporal: caminos críticos y tiempo de ciclo mínimo |
T3. Procesadores de propósito específico |
Introducción. Diseño de procesadores de propósito específico con una unidad de proceso (que procesa palabras de n bits) y una unidad de control (que genera la palabra de control en cada ciclo). La unidad de proceso se diseña adhoc mediante bloques combinacionales y secuenciales de n bits. La unidad de control se especifica mediante un grafo de estados de Moore. Ejemplos con entrada y salida de datos síncrona: sumar cuatro números, calcular el MCD de dos números con el algoritmo de Euclides, etc. Protocolo de comunicación asíncrona para la entrada y salida de datos: Handshaking de cuatro fases. Ejemplos con entrada y salida asíncronas. |
T4. Unidad de proceso general |
Introducción: los procesadores de propósito específico al procesador de propósito general. Banco de registros con dos buses de lectura y uno de escritura. Unidad aritmético-lógica con funcionalidad de operaciones lógicas bit a bit, operaciones aritméticas (suma, resta y multiplicaciones y divisiones por potencias de dos por naturales y enteros), comparaciones (igual y menor y menor o igual para naturales y enteros) y movimiento. Estructura de la Unidad de proceso general (UPG). Conexionado entre la UPG y la Unidad de control: palabra de control y bit de condición de cero. Acciones a realizar en un ciclo usando la UPG. Mnemotécnicos de las acciones (AND, OR, XOR, NOT, ADD, SUB, SHA, SHL, CMPLT, CMPLE, CMPEQ, CMPLTU, CMPLE, MOV, IN, OUT y NOP) y bits de la palabra de control asociada. Acciones con valores inmediatos y acciones que no modifican ningún registro. Diseño de procesadores de propósito específico utilizando la UPG (especificación de la unidad de control mediante un grafo de estados y la palabra de control mediante mnemotécnicos). Espacio de direcciones de entrada / salida y acciones IN y OUT. Entrada y salida de datos asíncrona mediante el protocolo de handshaking de cuatro fases. Ejemplos de diseño a partir de un código en un lenguaje de alto nivel que especifica la funcionalidad del procesador (sumador de cuatro números, cálculo del MCD para el algoritmo de Euclides, etc.). |
T5. Unidad de control general |
Implementación inicial de la unidad de control (como cualquier otro circuito secuencial): con un registro de estado, una memoria ROM (donde en cada palabra se almacenan los dos posibles estados siguientes, según el bit de condición z, y la palabra de control que gobernará a la UPG durante un ciclo) y un multiplexor de buses para seleccionar el estado siguiente según z. Modelo de computador Von Neumann y Harvard. Memoria de instrucciones en ROM. Del grafo de estados al programa en lenguaje máquina / ensamblador. Estructura definitiva de la unidad de control con secuenciamiento implícito, instrucciones de 16 bits y decodificador de instrucciones para obtener la palabra de control de 50 bits a partir de los 16 bits de la instrucción. Formato (instrucciones de 1, 2 o 3 registros) y codificación de las instrucciones SISA. Tipo de uso: aritmético-lógicas y de comparación, de ruptura de secuencia, de entrada salida, de movimiento (carga de un registro con una constante) y de suma de una constante pequeña. Ejemplos de pasar de grafos (que especifican una UC con objetivos específicos que junto con la UPG ejecuta un algoritmo) a fragmentos de código en lenguaje assamblador SISA para realizar la misma función (aunque generalmente requiere más ciclos). |
T6. Memoria y entrada salida |
La memoria RAM, modelo sencillo de funcionamiento (cronogramas de lectura y escritura, tiempo de acceso para una lectura y de set-up y anchura del pulso de la señal de permiso de escritura para una escritura). Espacio de direcciones de memoria. Conexionado de la memoria de datos al procesador. Instrucciones de lectura (load, LD) y escritura (store, ST): semántica, formado en lenguaje máquina y sintaxis en ensamblador. Ejemplos de modificación del estado del ordenador de instrucciones concretas de load y store. Ejemplos de pequeños programas con acceso a memoria. Subsistema sencillo de entrada / salida formado por un teclado y una impresora con efecto lateral de puesta a cero del registro (puerto) de estado al leer (teclado) o escribir (impresora) el registro de datos. Entrada / salida con sincronización por encuesta. Ejemplos de pequeños programas con entrada y salida de datos. |
T7. Lenguaje máquina y assamblador |
Repaso general del lenguaje máquina y ensamblador SISA (25 instrucciones) que se ha definido en los dos temas anteriores. Ejercicios sobre: a) acoplar y desacoplar código SISA, b) como queda modificado el estado del ordenador después de ejecutar una instrucción o un pequeño programa yc) escribir pequeños programas en lenguaje assamblador. |
T8. procesador monociclo |
Completar algunos detalles de la implementación monociclo (SISC Harvard Unicycle) del procesador que ejecuta programas en lenguaje máquina SISA que ya se fue creando en los temas 8, 9 y 10: a) pequeña modificación de la ALU de la UPG para poder ejecutar las instrucciones de movimiento inmediatamente a los 8 bits de más peso de un registro MOVHI, b) un único bus de direcciones para el espacio de entrada y de salida yc) diseño del decodificador de instrucciones (para obtener la palabra de control de 46 bits a partir de la instrucción de 16 bits) mediante una pequeña memoria ROM y algunos multiplexores y puertas. Contenido de la ROM del descodificador de instrucciones. Restricciones temporales de las señales de permiso de escritura en memoria y entrada / salida de datos. Ejemplos de modificación del diseño del SISC Harvard Unicycle para que pueda ejecutar, además de las 25 instrucciones originales, alguna otra instrucción nueva. Cálculo del camino crítico del ordenador monociclo y tiempo de ciclo mínimo. Tiempo de ejecución de pequeños programas. |
T9. procesador multiciclo |
Justificación de la implementación multiciclo (SISC Harvard multicycle) ante la monociclo (SISC Harvard Unicycle). Modificaciones en la unidad de control del procesador. Diseño de la unidad de control secuencial: grafo de estados e implementación. Restricciones temporales de las señales de permiso de escritura en memoria y entrada / salida de datos. Ejemplos de modificación del diseño del SISC Harvard multicycle para que pueda ejecutar, además de las 25 instrucciones originales, alguna otra instrucción nueva. Cálculo del camino crítico del ordenador multiciclo y tiempo de ciclo mínimo. Tiempo de ejecución de pequeños programas. |
|
dedicación |
||
Horas |
Tanto por ciento |
||
aprendizaje dirigido |
Grupo grande / teoría |
30 |
30% |
Grupo mediano / prácticas |
0 |
|
|
Grupo pequeño / laboratorio |
10 |
10% |
|
actividades dirigidas |
0 |
|
|
aprendizaje autónomo |
|
60 |
60% |
T1: Introducción T2: Circuitos lógicos secuenciales |
Dedicación: 10 h |
Grupo grande / Teoría: 4h Actividades dirigidas: h Aprendizaje autónomo: 6h |
|
Descripción |
Introducción. Introducción a los circuitos lógicos secuenciales: el caso general de Mealy y el caso particular de Moore. Análisis y síntesis de circuitos secuenciales de Moore con el mínimo número de biestables D activados por flanco. Cálculo del tiempo de ciclo mínimo de un circuito. |
||
actividades vinculadas |
Ejercicios de tema ET2a, ET2b, ET2c |
||
Vínculos con los resultados del aprendizaje | Vínculos con los resultados del aprendizaje 2 a 4, competencia E21 |
T3: Procesadores de propósito específico
|
Dedicación: 10 h |
Grupo grande / Teoría: 4 Actividades dirigidas: Aprendizaje autónomo: 6h |
|
Descripción |
Diseño de procesadores de propósito específico con una unidad de proceso (que procesa palabras de n bits) y una unidad de control (que genera la palabra de control en cada ciclo). Ejemplos con entrada y salida de datos síncrona. Protocolo de comunicación asíncrona para la entrada y salida de datos (Handshaking de cuatro fases). |
||
actividades vinculadas |
ET3a, ET3b |
||
Vínculos con los resultados del aprendizaje | Vínculos con los resultados del aprendizaje 5, 7 y 8: competencias CB3, E21 y E24 |
Examen 1: Temas 1 a 3 |
Dedicación: 3h |
Duración examen: 1h Aprendizaje autónomo: 2h |
|
Descripción |
Examen de los temas 1 a 3 |
||
actividades vinculadas |
ET2a, ET2b, ET2c (optativo), ET3a, ET3b |
||
Vínculos con los resultados del aprendizaje | Vínculos con los resultados del aprendizaje 2, 4, 5, 7 y 8 |
T4: Unidad de proceso general (UPG) |
Dedicación: 15h |
Grupo grande / Teoría: 6h Actividades dirigidas: Aprendizaje autónomo: 9h |
|
Descripción |
Noción de procesador de propósito general Introducción de la estructura a nivel de bloques de la unidad de proceso general (UPG) y del circuito lógico interno de los bloques que la forman: banco de registros y unidad aritmética lógica. Diseño de la unidad de control de propósito específico para que conjuntamente con la unidad de proceso general implementen una funcionalidad dada |
||
actividades vinculadas |
ET 4a, ET4b, ET4c |
||
Vínculos con los resultados del aprendizaje | Vínculos con los resultados del aprendizaje 6, competencia E24 |
T5: Unidad de control general: del grafo de estados al programa |
Dedicación: 10h |
Grupo grande / Teoría: 4h Aprendizaje autónomo: 6h |
|
Descripción |
Introducción a secuenciamiento implícito y de la codificación de las instrucciones mediante un formato compacto |
||
actividades vinculadas |
ET5a, ET5b |
||
Vínculos con los resultados del aprendizaje | Vínculos con los resultados del aprendizaje 8, competencia CB3 y E24 |
T6: Entrada / salida y memoria |
Dedicación: 5h |
Grupo grande / Teoría: 2h Actividades dirigidas: Aprendizaje autónomo: 3h |
|
Descripción |
Comprensión de la estructura de interconexión de los subsistemas de entrada / salida y memoria de datos conectados a la unidad de proceso general. Descripción del esquema lógico interno del subsistema de entrada / salida con un teclado y una impresora y de los bloques que lo forman. Diseño de la unidad de control de propósito específico para que conjuntamente con la unidad de proceso general y los subsistemas de entrada / salida y memoria implementen una funcionalidad dada |
||
actividades vinculadas |
Ejercicios de tema ET6b (ET6a opcional) |
||
Vínculos con los resultados del aprendizaje | Vínculos con los resultados del aprendizaje 9 a 11, competencia E24 |
Examen 2: Temas 4 a 6 |
Dedicación: 3h |
Duración examen: 1h Aprendizaje autónomo: 2h |
|
Descripción |
Examen de los temas 4 a 6 |
||
actividades vinculadas |
ET4a, ET4b, ET4c, ET4a, ET4b, ET5a, ET5b, ET6 |
||
Vínculos con los resultados del aprendizaje | Vínculos con los resultados del aprendizaje 1 a 11 |
T7: El lenguaje máquina y ensamblador SISA-I |
Dedicación: 5h |
Grupo grande / Teoría: 2h Actividades dirigidas: Aprendizaje autónomo: 3h |
|
Descripción |
Introducción del juego de instrucciones del lenguaje máquina SISA-I y la especificación de su lenguaje ensamblador |
||
actividades vinculadas |
Ejercicios de tema ET7 |
||
Vínculos con los resultados del aprendizaje | Vínculos con los resultados del aprendizaje 1, competencia CB3 y E24 |
T8: Procesador monociclo SISP-I-1 |
Dedicación: 10h |
Grupo grande / Teoría: 4h Actividades dirigidas: Aprendizaje autónomo: 6h |
|
Descripción |
Comprensión de la estructura interna y su funcionamiento del procesador SISP-I-1 donde cada instrucción se ejecuta en un único ciclo. |
||
actividades vinculadas |
Ejercicios de tema ET8a, ET8b |
||
Vínculos con los resultados del aprendizaje | Vínculos con los resultados del aprendizaje 1, competencia CB3 y E24 |
T9: Procesador multi-ciclo SISP-2 |
Dedicación: 3h |
Grupo grande / Teoría: 1h Actividades dirigidas: Aprendizaje autónomo: 2h |
|
Descripción |
Comprensión de la estructura interna y su funcionamiento del procesador SISP-2 donde hay instrucciones lentas (lectura / escritura a memoria) y rápidas. |
||
actividades vinculadas |
Ejercicios del tema ET9 |
||
Vínculos con los resultados del aprendizaje | Vínculos con los resultados del aprendizaje 1, competencia CB3 y E24 |
Examen 3: Temas 7 a 9 |
Dedicación: 3h |
Duración examen: 1h Aprendizaje autónomo: 2h |
|
Descripción |
Examen de los temas 11 a 12 |
||
actividades vinculadas |
ET11, ET12, ET12b |
||
Vínculos con los resultados del aprendizaje | Vínculos con los resultados del aprendizaje 1 a 11 |
Sesiones de laboratorio
Práctica 1: Circuitos secuenciales
|
Dedicación: 8h |
Grupo grande / Teoría: Actividades dirigidas: 4h Aprendizaje autónomo: 4h |
|
Descripción general |
Diseñar un sistema digital secuencial, aplicando la sistemática de resolución de autómatas finitos siguiendo el modelo de Moore. Implementación con biestables y puertas / ROM Saber interpretar un diagrama de transición de estados. Experimentar con un simulador de circuitos lógicos |
||
Material de apoyo |
Simulador Orcad Pspice |
||
Entregable y vínculos con la evaluación |
Prueba previa. En su caso, archivo de simulación del circuito. No es necesario realizar informe final. La nota final se basa en preguntas orales |
||
Objetivos específicos |
Al finalizar la actividad el estudiante debe ser capaz de: Diseñar y simular un circuito lógico digital secuencial |
||
Vínculos con los resultados del aprendizaje | Vínculos con los resultados del aprendizaje 2 a 4 y 11, competencia CB3 y E24 |
Práctica 2: instalación y puesta en marcha entorno de desarrollo Keil uVISION y CORTEX ARM M4 |
Dedicación: 4h |
Grupo grande / Teoría: Actividades dirigidas: 2 Aprendizaje autónomo: 2h |
|
Descripción general |
Instalación y configuración del sistema. |
||
Material de apoyo |
uVISION, placa de desarrollo launchpad TIVA TM4C123G |
||
Entregable y vínculos con la evaluación |
Prueba previa. Demostración de la nota proporcionada por grader. La nota final se basa en preguntas orales y los resultados del informe final. |
||
Objetivos específicos |
Al finalizar la actividad el estudiante debe ser capaz de: |
||
Vínculos con los resultados del aprendizaje | Vínculos con los resultados del aprendizaje 1, competencia E21 |
Práctica 3: semáforo implementado con máquina de estados finitos |
Dedicación: 4h |
Grupo grande / Teoría: Actividades dirigidas: 2 Aprendizaje autónomo: 2h |
|
Descripción general |
Implementación de un semáforo para dos calles de un único sentido con LEDs externos y código en c |
||
Material de apoyo |
simulador uVISION |
||
Entregable y vínculos con la evaluación |
Prueba previa. La nota final se basa en preguntas orales y los resultados del informe final |
||
Objetivos específicos |
Al finalizar la actividad el estudiante debe ser capaz de: Conectar elementos externos a la placa de desarrollo, entender el código en c del programa y simular el semáforo |
||
Vínculos con los resultados del aprendizaje | Vínculos con los resultados del aprendizaje 1 a 11, competencia E21, E24 |
Práctica 4: Introducción al lenguaje C. |
Dedicación: 4h |
Grupo grande / Teoría: Actividades dirigidas: 2 Aprendizaje autónomo: 2h |
|
Descripción general |
Introducción al lenguaje C. Implementación de algoritmos de cálculo sencillos |
||
Material de apoyo |
simulador uVISION Placa launchpad TM4C123G |
||
Entregable y vínculos con la evaluación |
Prueba previa. En su caso, código en c .. |
||
Objetivos específicos |
La nota final se basa en preguntas orales y los resultados del informe final. Objetivos específicos Al finalizar la actividad el estudiante debe ser capaz de: Realizar programas sencillos que realicen cálculos simples. |
||
Vínculos con los resultados del aprendizaje | Vínculos con los resultados del aprendizaje 1,, competencia CB3 y E21 |
calificación:
La Nota Final (NF) de la asignatura se obtiene ponderando la Nota de Teoría y problemas (NTP) y la nota de las prácticas de Laboratorio (NL):
NF = 0.8 NTP + 0.2 NL
La asignatura está planificada de forma que, nos condiciones normales, pueda ser aprobada por evaluación continua.
Nota de Teoría y Problemas (NTP) para evaluación continua:
La NTP se obtiene a partir de ponderar 3 notas (N1, ..., N3). La nota Nk (para k = 1, ..., 3) es la calificación obtenida en el examen Ek (el que se realiza en el período de clases) siempre y cuando el alumno haya entregado satisfactoriamente un 80% de las entregas sobre los temas / objetivos evaluados. En el caso de no llegar al 80%, Nk será 0.
Las entregas incluyen tanto la realización a tiempo (y en casa) de los ejercicios y problemas propuestos después de cada sesión de teoría y problemas, como aquellos ejercicios y problemas realizados en la propia clase.
Los pesos que ponderan cada nota Nk son proporcionales a las horas de trabajo que el estudiante dedica a realizar las actividades planificadas para conseguir los objetivos evaluados, así como de la importancia relativa de tales objetivos dentro de la asignatura.
NTP = (N1 + N2 + N3) / 3
La nota de Laboratorio (NL):
La nota NL se obtiene haciendo la media aritmética de las notas de cada una de las 4 prácticas de laboratorio, evaluadas en cada una de las sesiones de laboratorio. La nota de cada práctica de laboratorio Li (NLI para i = 1 ... 4) se calcula usando la siguiente fórmula:
NLI = 0.65 x PPi + 0.35:XNUMX IFI si se entrega el informe previo completo al inicio de la sesión
NLI = 0 si no se entrega
On:
PPi es la nota de la prueba previa individual (de unos 15 minutos de duración), la que se realiza al inicio de la sesión y que consiste en preguntas similares a la práctica anterior, informe previo, etc ..
IFI es la nota del informe final realizado durante la sesión de laboratorio.
Nota final:
Al finalizar las clases, después de unos pocos días del examen E3, el alumno sabrá si ha aprobado la asignatura mediante la evaluación continua de teoría y problemas, y la evaluación del laboratorio (NF> = 5).
recuperación
Sólo se pueden presentar al examen de recuperación aquellos estudiantes que no hayan aprobado por evaluación continua y hayan obtenido una nota de evaluación continua superior a 2,5 / 10 en la parte de teoría y problemas.
Normas de realización de las actividades
Las pruebas se realizarán de forma individual.
Las prácticas se realizarán por parejas o individualmente a criterio del profesor. La nota de la práctica puede ser diferente para cada miembro del grupo si el profesor lo estima oportuno.
Manual de prácticas [pdf].
Faúndez-Zanuy, Marcos. Manual de prácticas [pdf]. Publicación interna Tecnocampus Disponible en e-campus
Transparencias de la asignatura
Faundez-Zanuy, Marcos.Col·lecció de transparencias de la asignatura [pdf]. Publicación Tecnocampus 2021. Disponible en e-campus.
Introducción a los computadores
Navarro, Juan José. Introducción a los computadores: colección de problemas y apuntes de teoría [pdf]. Publicación interna UPC, 2011 Disponible en moodle
Gajski, DD. Principios de diseño digital. Prentice Hall, 1997. ISBN 84-8322-004-0.