Unidad responsable: Unidad que imparte: Curso: Titulación: Créditos ECTS: 2018 230 - ETSETB - Escuela Técnica Superior de Ingeniería de Telecomunicación de Barcelona 739 - TSC - Departamento de Teoría de la Señal y Comunicaciones MÁSTER UNIVERSITARIO EN INGENIERÍA DE TELECOMUNICACIÓN (Plan 2013). (Unidad docente Optativa) MÁSTER UNIVERSITARIO EN INGENIERÍA ELECTRÓNICA (Plan 2013). (Unidad docente Optativa) 2,5 Idiomas docencia: Inglés Profesorado Responsable: Otros: Jorge García Mateos Jorge García Mateos Capacidades previas Conocimiento básico de las diferentes puertas lógicas. Metodologías docentes Sesiones de laboratorio. Objetivos de aprendizaje de la asignatura Creemos que la mejor manera de entender cómo funcionan los computadores es construyendo uno desde cero. El principial objetivo de nuestra simple computadora es introducir todas las ideas cruciales que hay detrás del funcionamiento de un computador. Además, lo construiremos sobre protoboards usando TTL chips para las puertas lógicas y los registros, evitando un enfoque basado en FPGAs para la construcción de un procesador. Nuestra forma de acercarnos a la construcción de un computador es complementaria y necesaria para una mejor y más profunda comprensión de los procesadores. El computador que diseñaremos y construiremos tendrá un bus de direcciones de 4 bits, quatre registros de 8 bits y 16 bytes de RAM. Cada instrucción dura 5 ciclos, 2 de extracción y 3 de ejecución, un registro de instrucciones de 4 bits y una palabra de control de 2 bytes. El computador será bus-oriented, con salidas de los registros a este bus principal de 8 bits del tipo 3-state o open-collector, permitiendo transferències ordenades de les dades. Al final del seminario el estudiante será capaz de: - Entender con todo detalle el funciomiento de un ordenador de 8 bits. - Construir un ordenador de 8-bits a partir de puertas lógicas y flip-flops, en protoboards. - Diseñar la unidad de control, definir sus diferentes instrucciones y progamar su microcódigo en memoria EEPROM. - Progamar el ordenador construido con el código máquina y ensamblador creados. Horas totales de dedicación del estudiantado Dedicación total: 62h 30m Horas grupo pequeño: 20h 32.00% Horas aprendizaje autónomo: 42h 30m 68.00% 1 / 5
2 / 5
Contenidos Introducción y Reloj Dedicación: 6h Grupo pequeño/laboratorio: 2h Aprendizaje autónomo: 4h Diseñaremos nuestro computador enfatizando una arquitectura modular basada en los diferentes registros conectados al bus de 8 bits. No hemos querido poner todos los circuitos de control en un único bloque llamado unidad de control, ni todos los circuitos de entrada-salida en otro bloque llamado unidad I/O, etc. El primero de los módulos que diseñaremos y construiremos es el reloj. El reloj del computador se utiliza para sincronizar todas las operaciones. El reloj que construiremos está basado en el popular IC 555. Nuestro reloj es de velocidad ajustable (desde menos de un Hz hasta unos centenars de Hz). El reloj también puede funcionar en mode manual donde cada pulsación de un botón harà avanzar un cicle de reloj. Esto será un característica muy útil para encontrar errores (debugging). Registros Dedicación: 12h Grupo pequeño/laboratorio: 4h Aprendizaje autónomo: 8h La mayoría de les CPUs tienen un número de registros que almacenan pequeñas cantidades de datos que la CPU está procesando. En nuestra simple CPU, diseñaremos y construiremos tres registros de 8 bits: A, B yi IR. Los registros A y B son de propósito general. IR (el registro de instrucciones) trabaja de una manera similar, pero lo utilizaremos únicamente para almacenar la instrucción que en cada momento está siendo ejecutada. Unidad Lógica y Aritmética (ALU) Dedicación: 5h 30m Grupo pequeño/laboratorio: 1h Aprendizaje autónomo: 4h 30m La unidad aritmética y lógica (ALU) es una parte de la CPU que se encarga de realizar varios operaciones aritméticas, de bit y de comparación con números binarios. En nuestra simple CPU construida sobre protoboard, la ALU es sólo capaz de sumar y restar. Está conectada a los registros A y B y su salida es bien la suma A+B o bien la diferencia A-B. 3 / 5
Registro de direcciones de memoria (MAR) y Memoria de acceso aleatorio (RAM) Dedicación: 6h Grupo pequeño/laboratorio: 2h Aprendizaje autónomo: 4h La memoria de acceso aleatorio almacena el programa que el computador está ejecutando y también cualquier dato que el programa necesite. El registro de direcciones de memoria es un registro de 4 bits y por tanto nuestro computador de protoboard utiliza direcciones de 4 bits. Tenemos una RAM de 16 palabras, cada palabra de 8 bits, es decir, una RAM total de 16 bytes, que limita el tamaño y la complejidad del programa que puede correr. Esta es con diferencia su mayor limitación. Registro de salida (OUT) Dedicación: 9h Grupo pequeño/laboratorio: 3h Aprendizaje autónomo: 6h El registro de salida es similar a cualquier otro registro (como los registros A y B), excepte que en vez de presentar su contenido en binario con 8 LEDs, lo muestra en formato decimal sobre displays de 7 segmentos. Contador de programa (PC) Dedicación: 3h Grupo pequeño/laboratorio: 1h Aprendizaje autónomo: 2h El contador de programa cuenta en binario para hacer un seguimiento de qué instruccion del programa está ejecutando en cada momento el computador. Lógica de control (CL) Dedicación: 12h Grupo pequeño/laboratorio: 4h Aprendizaje autónomo: 8h El control lógico es el corazón de la CPU del computador. Es la que define los opcódigos que el procesador reconoce y lo que pasa cuando se ejecuta cada instrucción. 4 / 5
Programación y funcionamiento del computador. Dedicación: 9h Grupo pequeño/laboratorio: 3h Aprendizaje autónomo: 6h Finalmente progamaremos nuestro computador con algunos programas simples. Sistema de calificación Desarrollo y entrega de los trabajos de laboratorio. Bibliografía Básica: Malvino, Albert Paul; Brown, Jerald A. Digital Computer Electronics. 3rd edition. McGraw-Hill Higher Education, 1992. Nisan, Noam; Schocken, Shimon. The Elements of computing systems : building a modern computer from first principles. Cambridge, Massachusetts ; London: MIT Press, 2005. ISBN 026214087X. Fernández, Gregorio. Curso de ordenadores. Conceptos básicos de arquitectura y sistemas operativos. 5a edición. Fundación Rogelio Segovia para el desarrollo de las telecomunicaciones, 2004. Complementaria: Walker, J.S. Computer time travel : how to build a microprocessor from transistors. United Kingdom: Oldfangled Publishing, 2017. ISBN 9780995707207. Scott, John C. But how do it know? The basic principles of computers for everyone. Lightning Source Inc, 2009. ISBN 9780615303765. 5 / 5