Información general


Tipo de asignatura: obligatoria

Coordinador: Joan Triadó Aymerich

trimestre: Primer trimestre

Créditos: 4

Profesorado: 

Marcos Faúndez Zanuy

Idiomas de impartición


  • Català

Algunas preguntas de los cuestionarios moodle están en Català, el resto en castellano

Competencias


Competencias específicas
  • 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.

Descripción


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.

Contenidos


 

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.

 

Sistema de evaluación


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 mediante la media aritmética de las notas de cada una de las 5 prácticas de laboratorio, evaluadas en cada una de las sesiones de laboratorio. La nota de cada práctica de laboratorio Li (NLi por i=1...5) 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.
La nota máxima de la recuperación será 5.

Las actividades de laboratorio no son recuperables.

 

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.

Es obligatorio realizar todas las actividades de la asignatura.

Bibliografía


Básico

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 2022. 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

Complementario

Quintáns Graña, Camilo "Simulación de circuitos electrónicos con ORCAD PSPICE. 2a Edición Editorial Marcombo 2022

Principios de diseño digital

Gajski, DD. Principios de diseño digital. Prentice Hall, 1997. ISBN 84-8322-004-0.