Diapositivas Tema 01

Anuncio
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
Descargar