Arquitectura de Computadores Tema N° 1: Introducción a la Arq. de Computadoras Eduardo Daniel Cohen – [email protected] http://www.herrera.unt.edu.ar/arqcom 2014- D. Cohen UNT - Arq. de Computadoras 1 Temas a Tratar: Introducción • Información General del Curso • Introducción básica. – Jerarquías de Memoria – Conceptos de Multitarea. – Interrupciones y Excepciones. – Modos Supervisor/Usuario – ejemplos. – Sistema Operativo • Arquitectura de Computadoras. – Modelo de Capas. – Fuerzas. 2014 - D. Cohen UNT - Arq. de Computadoras 2 Objetivos del Curso • Temas a Aprender – Cómo funcionan las computadoras, fundamentos. – Como analizar su performance (¡o como no hacerlo!) – Temas relacionados con procesadores modernos (caches, pipelines, multiprocesadores). – Criterios de Diseño. – …. – Ritmo y Actualización Tomado del Curso en Berkeley. • ¿Para qué aprender estos temas? – Imprescindible para “Ingenieros en Computación” – Globalización: se trabaja en Argentina para Cías en USA. – Deben manejar la “performance” de las instalaciones: Hw y Sw de Base. – Necesitarán tomar decisiones de compra de equipos y ofrecer asesoramiento profesional. 2014- D. Cohen UNT - Arq. de Computadoras 3 ¿Qué estaremos viendo? • Módulo I • – Introducción. • Jerarquía Memorias • Modelo Jerárquico “por capas” • Modos Kernel/User • Multitarea. • Ej. Interrupciones. – Conceptos de Performance, Precio y Potencia. – Paralelismo y Trabajo en Serie – Cómo se diseña ISA. – Lenguaje Ensamblador – MIPS R3000 2014- D. Cohen Módulo II – . Diseño del Procesador. • CPU de ciclo único. • CPU multiciclo. – Diseño del Procesador. • Procesador Segmentado. • Procesadores Superescalares. – Sistema de Memoria. • Caché. • Memoria Virtual. – Buses. – Sistema de I/O. • Dispositivos – Diseño para Baja Potencia – Multiprocesadores. UNT - Arq. de Computadoras 4 Bibliografía Libro de Texto Principal: Patterson, D. A.; Hennessy, J. L. • Computer Organization And Design – The Hardware Software Interface. Elsevier, Morgan Kauffman Publishers, 4th Edition, 2011. Principales Transparencias: Adaptadas de clases del curso CS152, Universidad de Berkeley, California. Prof. D. A. Patterson, John Lazzaro, Krste Asanovic. Recomendación: leer antes de clase. 2014- D. Cohen UNT - Arq. de Computadoras 5 Bibliografía Libro de Texto Principal: Patterson, D. A.; Hennessy, J. L. • Versión Traducida de la cuarta edición, 2012. Editorial Reverté. • Se consigue en Editorial CÚSPIDE Argentina. Salió Edición V en Inglés. 2013. • No la adopatermos en este año. • Viene en Inglés solamente. • No difiere mucho de la que usaremos. 2014- D. Cohen UNT - Arq. de Computadoras 6 Funcionamiento del Curso - I • El Curso no tiene más de 96 hs en total. – Hay un contador de hs en nuestro sitio. • Dictado Conceptual – Ing. Daniel Cohen • 3 clases por semana en general – 96 hs efectivas cuatrimestre. (L, M de 8 a 10, V de 8 a 9 hs). • Importante: Venir a Clase. • Consultas después de cada clase. • Ing. Daniel Cohen - [email protected] 2014- D. Cohen UNT - Arq. de Computadoras 7 Funcionamiento del Curso - II • Trabajos Prácticos. • Ing. Nicolás Majorel Padilla [email protected] • Ing Maximiliano Cecilia. [email protected] • Matías Raimondo, Erika Beker, Alfredo Hidalgo • Gonzalo de Amicis, Agustín Gallardo • 1 vez por semana – Problemas a resolver individualmente. • Evaluación de cada práctico – 1 vez por semana. • Horarios: Martes o Viernes – 17 a 19 hs. • Consultas a Estudiantes 2 hs dos veces por semana. • El práctico se sube a nuestro sitio una semana antes. 2014- D. Cohen UNT - Arq. de Computadoras 8 Funcionamiento del Curso III • 3 Trabajos de Laboratorio. • Uso del Simulador SPIM - Trabajo en assembler del MIPS. • Uso del Simulador de Memoria Cache (CACHESIM) • Laboratorio de Integración Final. • Regularidad • Aprobación Evaluaciones TP y Laboratorios prom.>40% • Asistencia 80% evaluaciones (solo una se puede faltar) • Parciales con promedio > 40%. • El peso de los parciales 1 y 2 es 40% y 60% respectivamente. 2014- D. Cohen UNT - Arq. de Computadoras 9 Funcionamiento del Curso IV • Evaluación Distribuida. • 2 Parciales (60%). • Evaluación Prácticos y Laboratorios (30%) • Participación en clase, Quizes (10%) • Porcentajes tentativos, cambian si aparecen “trampas”. • Quien copia recibe “0”. 2014- D. Cohen UNT - Arq. de Computadoras 10 Importancia de los Quizes • Estadísticas 2010-2013 • Nota Final Vs. Promedio Quizes. • Quien anda bien en quizes aprueba!!! 100% 90% P r o m e d i o 80% F i n a l 40% 70% 60% 2010 50% 2011 2012 30% 2013 20% 10% 0% 0-24 25-49 50-74 75-100 Prom. Quizes 2014- D. Cohen UNT - Arq. de Computadoras 11 Funcionamiento del Curso V • Correlativas a aprobar para Inscribirse: – Probabilidades y Estadísticas. – Materiales y Dispositivos Electrónicos. – Prueba de Suficiencia de Inglés • Correlativas a aprobar para Rendir. – Sistemas con microprocesadores y microcrontroladores. • Arquitectura es obligatoria para: – Sistemas Operativos (y muchas que le siguen). – Laboratorio de Microprocesadores • Examen de Prerrequisitos. - Es el primer práctico, con obligación de aprobarlo. 2014- D. Cohen UNT - Arq. de Computadoras 12 Página de la Cátedra • Material de Ayuda – transparencias (¡¡no reemplaza al libro!!) • Anuncios y Novedades. • Información General – Programa de la Materia. • Trabajos Prácticos de Ejercitación. • Notas. • Parciales años anteriores. • FAQS – Opiniones Sist Micro 2012. • Encuestas y quejas anónimas... La opinión de los estudiantes nos ayuda. • Calificaciones. • INSCRIBIRSE EN LA PAGINA. • Página más accedida por Hispano-parlantes, en el tema. • FACEBOOK – Foro de la Cátedra. Consultas, Información, etc. 2014- D. Cohen UNT - Arq. de Computadoras 13 Plan de Mejoras 2013 • Muchos Estudiantes no vienen a clase. – No se acepta bajo ningún concepto a quien no tenga las correlativas. • Demora en dar las Calificaciones de Parciales. – Indicador Promedio de días en calificar en general. – Evaluaciones 10 días – Parciales 20 días. • “Peer to Peer Instruction” muy buena. – Se agregará una actividad más sobre ISA del MIPS. • No se evaluó el último práctico – problema feriados – Se evaluarán todos los prácticos. • Quieren ver plan mejoras micro 2012 – Vean respuestas a Comentarios en Sitio Web. – Aclaraciones válidas para los 2 cursos. 2014- D. Cohen UNT - Arq. de Computadoras 14 Repaso: Partes de un Computador – CPU – sistema complejo. – Dividir Funcionalmente: Acción (camino de Datos) y Control. – En síntesis: Control Input Memory Datapath CPU 2014- D. Cohen Output M UNT - Arq. de Computadoras I/O 15 Para Pensar • ¿Cómo se diferencia la Memoria de un Procesador de propósito gral y uno específico? – Cantidad. – Proporciones ROM/RAM 2014- D. Cohen UNT - Arq. de Computadoras 16 Clasificación de la Memoria • Por el Modo de Acceso desde el CPU: – Primario – se accede directamente desde CPU (RAM). – Secundario – se accede a través de operaciones de I/O (Disco, Cinta...) • Por el tiempo de acceso: Random – Secuencial – Mixto. • Por la volatibilidad: RAM – ROM… 2014- D. Cohen UNT - Arq. de Computadoras 17 El Principio de Localidad • El Principio de Localidad: • Los programas acceden a una porción relativamente pequeña del espacio de direcciones en un cierto intervalo de tiempo, en cualquier momento.. • Dos Tipos Diferentes de Localidad: • Localidad Temporal: Si un ítem (Dato o Instrucción) es accedido, tenderá a ser accedido nuevamente pronto. • Localidad Espacial: Si un item es accedido, ítems vecinos (direcciones cercanas) tenderán a ser accedidos pronto. • Idea: información más usada en memoria rápida. • ¿Es aplicable a las Personas también? 2014- D. Cohen UNT - Arq. de Computadoras 18 Jerarquía de Memoria: Personas • • • • • • Memoria Rápida y Limitada: el cerebro. Ayuda Memoria: Agenda. Apuntes. Libros Bibliotecas. No es transparente. • No hay un sistema automático que detecte nuestra necesidad de información y la incorpore a nuestro cerebro sin que nos demos cuenta. 2014- D. Cohen UNT - Arq. de Computadoras 19 Caché Sistema de Memoria CPU SRAM Cache DRAM • Motivación: – Memorias Grandes (DRAM) son lentas. odu – Pequeñas Memorias (SRAM) son rápidas y más caras. – Lograr un tiempo de acceso promedio pequeño: • Sirviendo la mayoría de los accesos desde la SRAM. – Reducir el ancho de banda requerido para la DRAM. • Ancho de banda = palabras transferidas segundo. – Lograr un costo unitario medio similar a la DRAM. • ¿Cómo? 2014- D. Cohen UNT - Arq. de Computadoras 20 Costo Unitario b1 – costo unitario DRAM. b2 – costo unitario SRAM. n1 y n2 – cant de bytes de DRAM y SRAM respectivamente. c – costo total. cu – costo unitario total. c = n1.b1+n2.b2; cu = c/(n1+n2). n1 >> n2, n1/(n1+n2) à 1, n2/(n1+n2) à0 n1+n2 à n1 por lo tanto: c à n1.b1 y cu à b1 2014- D. Cohen UNT - Arq. de Computadoras 21 Cache / Memoria Virtual • Similar Objetivo. • Cache: entre dos memorias RAM. • Memoria Virtual: entre Primario (RAM) y Secundario (Disco...). • Transparentes al Usuario: – Manejo por Hw. y Sistema Operativo. 2014- D. Cohen UNT - Arq. de Computadoras 22 Jerarquías de Memoria • Aprovechando el principio de Localidad: – Presentar al usuario todo el espacio de direcciones con un costo unitario muy cercano al de la tecnología más barata. – Brindarle acceso a la velocidad ofrecida por la tecnología más rápida. CPU Control Velocidad (ns): Unos Tamaño (bytes): Cientos 2014- D. Cohen On-Chip Cache Registers Datapath Second Level Cache (SRAM) Main Memory (DRAM) Decenas Megas UNT - Arq. de Computadoras Cientos Gs Secondary Storage (Disk) 10,000,000s (10s ms) Gs - Ts 23 Sistema Operativo • ¿Cómo trabajar con un Computador? – ¿cómo cargo un programa? – ¿cómo manejo discos y monitor? • No basta con el Hw puro. • No basta con el Lenguaje Assembler. • Se necesitan Interfases. • Físicas (Hw – I/O: teclado, monitor, ...) • Lógicas (manejadores del Hw, Intérpretes). • Y Optimizar uso de recursos... • Tanto de Hw como de Sw. • Compartir. • Presentar interfases transparentes a emplear por el usuario. • Seguridad, confiabilidad, facilidad de uso. 2014- D. Cohen UNT - Arq. de Computadoras 24 Multiprogramación: Conceptos • Recursos: CPU, Memoria, Disco, Impresora, ... • Acceso Disco toma cientos de miles de ciclos de CPU. • Si corre un único programa àCPU no hace nada mientras se accede a Disco. ¡Ineficiente! • Pero se podría poner a otro programa para que use el CPU “concurrentemente”. • Así, para la eficiencia de todos los recursos, conviene que corran varios programas concurrentemente. • El Sistema Operativo distribuye los recursos de manera equitativa y transparente. • Cada programa percibe que corre solo. 2014- D. Cohen UNT - Arq. de Computadoras 25 Multiprogramación – Conceptos • Ningún programa puede afectar a los demás. • El Sistema Operativo administra el uso compartido de recursos y asegura que todo funcione bien (protecciones) • La memoria es un recurso más. Un programa puede estar en disco en un momento dado. • Es necesario que un programa funcione correctamente, independientemente de donde se cargue en memoria principal. 2014- D. Cohen UNT - Arq. de Computadoras 26 Detalles de Implementación • En General: Sistema Multitarea. – ¿Puede un usuario modificar las prioridades? – ¿Acceder en forma directa a recursos compartidos? • Dos modos de Funcionamiento: – Usuario (con restricciones). – Supervisor (sin restricciones). – ¿En qué modo funciona el S.O.? • PSW informa si ejecuta en modo SO o modo Usuario. • Instrucciones “privilegiadas” solo corren en modo SO. • El Sistema Operativo (SO) se encarga de servir Interrupciones – ¿por qué? 2014- D. Cohen UNT - Arq. de Computadoras 27 En perspectiva: Modos Supervisor / Usuario • Mediante los dos modos de ejecución (user/system) es posible que el computador se auto-administre adecuadamente. – El Sistema Operativo es un programa especial que corre en modo privilegiado y tiene acceso a todos los recursos del computador. – Presenta “recursos virtuales” para cada usuario que son más convenientes que los recursos físicos. • archivos en lugar de sectores de disco. • Memoria Virtual en lugar de Memoria Física. – Protege a cada programa de usuario de los otros. • Las Excepciones le permiten al Sistema Operativo tomar acción en respuesta a eventos o pedidos que ocurren cuando el programa de usuario está corriendo. – El SO comienza a partir del manejador (Handler). – El programa usuario puede solicitar servicios mediante pedidos de excepción por Sw (ej. I/O). 2014- D. Cohen UNT - Arq. de Computadoras 28 Detalles del PSW en el MIPS Status 15 8 Mask 5 4 3 2 1 0 k e k e k e old prev current • Acepta 5 niveles de interrupción por Hw y 3 por software. • Mask = 1 bit para cada nivel de interrupción. – 1 => habilita interrupciones del nivel correspondiente. – 0 => desabilita interrupciones. • k = kernel/user (núcleo/usuario) – 0 => núcleo. – 1 => usuario. • e = habilitación de interrupciones (de todas) – 0 => deshabilitadas. – 1 => habilitadas. • Cuando ocurre la interrupción, 6 LSB se corren 2 bits a la izquierda, poniendo los 2 LSB a 0 – Corre en modo kernel con las interrupciones inhabilitadas. • Volveremos sobre esto más adelante. 2014- D. Cohen UNT - Arq. de Computadoras 29 Detalles del registro de Causa en MIPS 14 10 Pending • • 5 2 Code Interrupciones Pendientes 5 niveles por Hw: se pone un bit en 1 si se solicita interrupción pero no se la responde todavía. – Sirve para manejar casos en los cuales hay más de un pedido de interrupción al mismo tiempo o cuando las interrupciones están inhabilitadas. Código de Excepción codifica la causa de la excepción. – 0 (INT) => external interrupt – 4 (ADDRL) => address error exception (load or instr fetch) – 5 (ADDRS) => address error exception (store) – 6 (IBUS) => bus error on instruction fetch – 7 (DBUS) => bus error on data fetch (Arquitectura Harvard). – 8 (Syscall) => Syscall exception – 9 (BKPT) => Breakpoint exception – 10 (RI) => Reserved Instruction exception – 12 (OVF) => Arithmetic overflow exception 2014- D. Cohen UNT - Arq. de Computadoras 30 Modo Trazador • Algunos CPUs tienen un flag en PSW, T. • Si T=1: – Excepción al finalizar cada Instrucción. – Pasa a modo Supervisor y automáticamente T=0. – Servicio de la Excepción (debugging). – Al retornar, T=1 • ¿Por qué T=0 al responder la Interrupción? 2014- D. Cohen UNT - Arq. de Computadoras 31 Visión Jerárquica por Niveles Compilador Ensamblador SO ISA Control Hw 2014- D. Cohen UNT - Arq. de Computadoras 32 Arquitectura de Computadoras ° Cordinación de niveles de abstracción Aplicación Sistema Operativo Compilador Procesador Sistema I/O Instruction Set Architecture Diseño Digital Diseño de Circuitos ° Bajo presión de fuerzas que cambian muy rapidamente 2014- D. Cohen UNT - Arq. de Computadoras 33 Fuerzas en Arq. de Computadoras Tecnología Aplicaciones Lenguajes de Programación Arquitectura De Computadores Sistemas Operativos Historia (A = F / M) 2014- D. Cohen UNT - Arq. de Computadoras 34 En Síntesis • Sistema Complejo. • Sometido a grandes fuerzas de Cambio y de Inercia. – Tecnología à – Nuevos Lenguajes à – Sistemas Operativos à – Nuevas Aplicaciones. à – Aplicaciones existentes (Historia) ß 2014- D. Cohen UNT - Arq. de Computadoras 35