Fermín Sánchez Carracedo Universitat Politècnica de Catalunya Características deseables en un Procesador Pedagógico para la enseñanza básica de Arquitectura de Computadores Fermín Sánchez Carracedo Universitat Politècnica de Catalunya
Índice Marco General Características de una máquina pedagógica Ejemplos de máquinas: Máquina Sencilla DLX Máquina Rudimentaria Comparación Lenguaje ensamblador y simulador Conclusiones
Marco General Aprendizaje en primera asignatura sobre AC en Ingeniería Informática Objetivo: que el alumno entienda Arquitectura von Newman Misión de cada componente
Arquitectura von Neumann Memoria = Banco de registros grande Contiene instrucciones y datos Jerarquía: cursos posteriores
Arquitectura von Neumann Entrada/Salida Cursos posteriores Se requieren conocimientos básicos de programación Concepto de concurrencia difícil Se puede estudiar un modelo sencillo totalmente secuencial
Arquitectura von Neumann Unidad Central de Proceso UP y UC sencillas y bien diferenciadas UC: 1 estado = 1 fase ejecución UP: Componentes básicos para entender la ejecución secuencial de instrucciones
Arquitectura von Neumann Buses Tipos de buses: datos, @ y control Sincronización: cursos posteriores
Índice Marco General Características de una máquina pedagógica Ejemplos de máquinas: Máquina Sencilla DLX Máquina Rudimentaria comparación Lenguaje ensamblador y simulador Conclusiones
Características: ISA Arquitectura ortogonal y sencilla RISC de carga-almacenamiento Instrucciones: pocas y básicas Tres tipos de instrucciones Aritmético-lógicas R-R: +, -, >>, AND/OR Transferencia Memoria-Banco Registros Salto
Características: Memoria Memoria única de instrucciones y datos Tamaño instrucción = tamaño dato => No precisa alineamiento Direccionamiento a nivel de palabra Modos: Registro, Inmediato, Relativo, Absoluto (saltos) Saltos con/sin flags
Características: UP Banco de registros “pequeño”: 16x16 PC direcciona toda la memoria IR: 16-32 bits ALU sencilla: ops básicas (+, -,AND,>>) Registro de estado con pocos bits: Z, N, V, C
Índice Marco General Características de una máquina pedagógica Ejemplos de máquinas: Máquina Sencilla DLX Máquina Rudimentaria Comparación Lenguaje ensamblador y simulador Conclusiones
Máquina Sencilla Arquitectura Memoria-Memoria Memoria: 128 x 16 bits Direccionable a nivel de palabra Instrucciones: 16 bits Datos: Números naturales de 16 bits 1 bit de estado: Z 4 Instrucciones: ADD, MOV, CMP, BEQ
Máquina Sencilla Ventajas Inconvenientes Extremadamente simple Unidad de control muy sencilla Inconvenientes No hay Banco de registros Sólo 1 espacio de direcciones Sólo 1 modo de direccionamiento Ampliarla requiere rediseñarla por completo
Índice Marco General Características de una máquina pedagógica Ejemplos de máquinas: Máquina Sencilla DLX Máquina Rudimentaria Comparación Lenguaje ensamblador y simulador Conclusiones
DLX: Estructura Instrucciones de 32 bits Operandos de 8, 16 y 32 bits Memoria: De instrucciones y de datos 232 x 8 bits cada una Direccionable a nivel de byte Requiere alineamiento
DLX: UP 2 Bancos de registros: Registro de estado: 1 bit (reales) Enteros 32 x 32 bits FP 16 x 64 bits (32 x 32 bits) Registro de estado: 1 bit (reales) PC de 32 bits IR de 32 bits
DLX: Instrucciones Inmediato de 16 bits (constantes de 32) Instrucciones enteras: +,-,*,/, AND,OR,XOR, >>,<< (aritméticos y lógicos) Instrucciones FP: +,-,*,/ CMP: activa bit registro de estado
DLX: Saltos Saltos: Salto FP: Evalua bit registro estado Incondicionales Condicionales Llamada a subrutina Salto FP: Evalua bit registro estado Salto entero: Evalua registro BR=0 Modo relativo al PC (desp. 16 bits)
DLX Ventajas Inconvenientes Muy bien documentado Se pueden explicar conceptos avanzados en cursos posteriores usándolo completo Inconvenientes Demasiado complejo, pero… Se puede usar una versión simplificada
DLX: Simplificación Sólo instrucciones enteras 1 banco de registros Desaparece el hardware de reales Saltos homogéneos (sin registro de estado) Subrutinas NO Operandos 32 bits =>No requiere alineación Inclusión de registros para relacionar estados de la UC con fases de ejecución
Índice Marco General Características de una máquina pedagógica Ejemplos de máquinas: Máquina Sencilla DLX Máquina Rudimentaria Comparación Lenguaje ensamblador y simulador Conclusiones
MR Memoria: Instrucciones: 16 bits Datos: enteros Ca2 de 16 bits 256 x 16 bits Direccionable a nivel de palabra Instrucciones: 16 bits Datos: enteros Ca2 de 16 bits
MR: UP y UC Banco de Registros: 8 x 16 bits PC: 8 bits IR: 16 bits Registro de estado: N, Z, (V) UC: Sencilla:1 estado = 1fase de ejecución Existe versión optimizada (más compleja)
MR: Instrucciones Cargas y almacenamientos Saltos Aritmético-Lógicas: Modo relativo con desplazamiento de 8 bits Saltos Condicionales e incondicionales Modo absoluto (8 bits) Aritmético-Lógicas: +, -, AND, >> lógico Inmediato de 5 bits (+, -)
MR Ventajas Inconvenientes Cumple con los requisitos deseados UP diseñada ad-hoc (visión irreal) No es posible segmentarla para estudiar conceptos avanzados
Índice Marco General Características de una máquina pedagógica Ejemplos de máquinas: Máquina Sencilla DLX Máquina Rudimentaria Comparación Lenguaje ensamblador y simulador Conclusiones
Comparación
Comparación
Comparación
Comparación
Índice Marco General Características de una máquina pedagógica Ejemplos de máquinas: Máquina Sencilla DLX Máquina Rudimentaria comparación Lenguaje ensamblador y simulador Conclusiones
Lenguaje ensamblador Objetivos: Características deseables: Visión más cercana al usuario del LM Traducción alto nivel => bajo nivel de estructuras de datos de sentencias estructuradas (if, while…) Características deseables: Sencillez Direcciones simbólicas (etiquetas) Directivas básicas (asignación y reserva de M.)
Simulador ¿Por qué? Algunas Características: Presentación: SiMR Permite que el alumno experimente y aprenda Algunas Características: Incorporar un ensamblador/depurador Visualización de lo que sucede en cada momento Visualizar y alterar UP, UC y memoria Ejecución con diferente granularidad Diagramas de tiempo Presentación: SiMR
Índice Marco General Características de una máquina pedagógica Ejemplos de máquinas: Máquina Sencilla DLX Máquina Rudimentaria Comparación Lenguaje ensamblador y simulador Conclusiones
Conclusiones Características básicas de: ¿Procesador recomendado? Ensamblador Simulador ¿Procesador recomendado? DLX simplificado Cumple con los requisitos exigidos Puede usarse en cursos posteriores