Maestría en Ciencias de la Computación

Slides:



Advertisements
Presentaciones similares
El modelo de Von Neumann
Advertisements

UNIVERSIDAD DEL VALLE DE MEXICO CAMPUS CHAPULTEPEC
ARQUITECTURA DE COMPUTADORES - VON NEUMANN MODEL
CICLO DE EJECUCION DE UNA INSTRUCCION
Arquitectura de Computadores
EL Sistemas Digitales Ing. José Alberto Díaz García Escuela de Ingeniería Electrónica Arquitectura Segmentada Pipeline (Segmentación)
EMISION MULTIPLE DE INSTRUCCIONES
Composición Interna de un Procesador
Unidad 2: Organización del CPU
INSTITUTO TECNOLÓGICO DE CD. GUZMÁN
TEMA 2: Organización de computadores
Organización de Computadoras
Tema 2: Lenguaje máquina
“Organización y Arquitectura de Computadores” William Stallings
Son los atributos de un sistema que son visibles para un programador, es decir aquellos atributos que impactan directamente en la ejecución lógica de un.
Principio unidad 1.
Ingeniería en Computación Centro Universitario UAEM Valle de México Arquitectura de Computadoras Elaborado por: Dra. Maricela Quintana López.
Arquitectura de Computadoras (Taller) Semestre II de 2008.
Hiperpipeline Superescalares Arquitectura de Computadoras 2012.
Análisis de los algoritmos Unidad 7. Análisis La resolución práctica de un problema – algoritmo o método de resolución – y por otra un programa o codificación.
Arquitectura de Computadores Clase 0 Presentación del Curso IIC 2342 Semestre José Tomás Eterović Pontificia Universidad Católica de Chile Escuela.
Aspectos básicos de la computación paralela. Tipos de computacion paralela.
El procesador Datapath y control. Universidad de SonoraArquitectura de Computadoras2 Introducción En esta parte del curso contiene: Las principales técnicas.
INTRODUCCION A LOS SISTEMAS DE COMPUTO ARQUITECTURA VON NEUMAN Ing. David Gonzalez.
ITESCO – Arquitectura Computadoras L. S. C. A. Raúl Monforte Chulin - MORCH Systems 1.1. Arquitectura básica y sus operaciones. Objetivo: El estudiante.
Unidad de Aprendizaje: Lenguaje Ensamblador
L. S. C. A. Raúl Monforte Chulin
Organización de computadoras
Procesadores superescalares
Microprocesador Estructura interna.
Capitulo 2 Tratamiento de Datos
Tratamiento de Datos Capitulo Dos.
El procesador Diseño del control.
UNIDAD CENTRAL DE PROCESO CPU.
Pipelining Datapath y control.
EL CPU.
Arquitecturas alternativas UNIVERSIDAD TECNOLOGICA DE PUEBLA TECNOLOGIAS DE LA INFORMACION Y COM. AREA REDES Y TELECOMUNICIONES ADMINISTRACION DE SERVIDORES.
8. Diseño del Procesador Fundamentos de los Computadores
HARDWARE POR: JOEL CASTAÑEDA 1ºA.
ARQUITECTURA DE HARD WARE COMPONENTES EN BLOQUES DEL PROCESADOR
Diferencias entre las arquitecturas de 64 bits de AMD e intel.
Clase 7 Assembly - Simulador MSX88.
ORGANIZACIÓN Y ADMINISTRACIÓN DE LA MEMORIA VIRTUAL
Unidad 1 Introducción al mundo de la computación.
Pipelining Introducción.
Almacenamiento El computador tiene 2 aspectos
Organización del Computador
Estas dos líneas de código permiten al Asm iniciar en Code Segment
Conceptos básicos.
INGENIERÍA INFORMÁTICA Y DE SISTEMAS Docente: Mg Ing. Jesús Ocaña Velásquez ARQUITECTURA DEL COMPUTADOR.
8. Diseño del Procesador Fundamentos de los Computadores
ARQUITECTURA DEL COMPUTADOR Ing. Diana E. López.
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS.
Fundamentos de la Programación I
EL COMPUTADOR Contenido Mg. Ing. CIP. Francisco Mori L Organización y Arquitectura. I.Estructura y Función II.Generaciones III. Arquitectura del Microprocesador.
1 TEMA 2: Organización de computadores Procesadores Memorias Dispositivos de E/S.
UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN
Arquitectura de Computadores de Computadores. Organización y Arquitectura La Arquitectura: se refiere a los atributos que tienen un impacto directo en.
MANTENIMIENTO DE LA CONSISTENCIA. BUFFER DE REORDENAMIENTO TIENE LA FINALIDAD DE VER LA PROBLEMÁTICA DE LA FINALIZACIÓN ORDENADA O DESORDENADA DE.
El procesador Datapath y control.
Introducción a la computadora Prof. Yolanda I. López de Jesús GEIC 1000.
Universidad Técnica De Manabí Facultad De Ciencias Informáticas Departamento De Informática Y Electrónica Trabajo de investigación grupal Tema: Arquitectura.
1 ALU (Unidad aritmético lógica) Registros Unidad de control I/O y buses internos (usualmente 3 estados) I/O y buses internos Los buses I/O son de tres.
1 TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS Introducción Hardware Software Aspectos de diseño.
Gestión del sistema de entrada / salida
Estructura de Sistemas Operativos
Estructura de los Sistemas Operativos
ARQUITECTURA DE UN MICROPROCESADOR. ESTRUCTURA BÁSICA DE UN SISTEMA MICROPROGRAMABLE A. Hardware CPU (chip microprocesador): es un circuito integrado.
Para el fragmento de código siguiente: lwr1, 0x1ac; r1=m[0x1ac] lwr2, 0xc1f; r2=m[0xc1f] addr3,r0,r0; r3=r0+r0 mulr4,r2,r1; r4=r2*r1.
Transcripción de la presentación:

Maestría en Ciencias de la Computación Arquitectura de Computadoras Paralelismo Elaborado por: Dra. Maricela Quintana López Agosto 2017

Arquitecturas Paralelas Objetivos: Presentar al alumno el ciclo de máquina para entender donde puede mejorarse el rendimiento de la UCP y cómo surgen las arquitecturas RISC y CISC. Revisar arquitecturas secuenciales y paralelas. Unidades funcionales: captación instrucción, decodificación de instrucción, traer operandos de memoria, ejecución y almacenamiento de resultados. Pipeline.

Ciclos de Máquina La función de una computadora es ejecutar programas. La ejecución de un programa consiste en ejecutar una secuencia de instrucciones de máquina. Cada instrucción de máquina esta a su vez compuesta de un conjunto de ciclos llamados ciclos de instrucciones. Cada uno de los ciclos de instrucciones esta compuesto de una serie de pasos conocidos como micro operaciones.

Programa Ciclo de instrucción Ciclo de instrucción . . . Interrupción Ejecución Indirecto Captación Ciclo de instrucción Interrupción Ejecución Indirecto Captación . . .

Ciclo de Instrucción Interrupción Ejecución Captación Indirecto

Ciclo de captación Ocurre al inicio de cada ciclo de máquina. Produce que una instrucción de máquina sea traída de memoria principal. Pasos del ciclo: (Existe un reloj para sincronizar) T1: Mover el contenido del PC al MAR. T2: Mover el contenido de la dirección de memoria apuntado por el MAR al MDR. Incrementar el contenido del PC en uno. T3: Mover el contenido del MDR al IR.

Microoperaciones del ciclo de captación: t1: MAR PC t2: MDR Memoria PC PC + 1 t3: IR MDR

Ciclo de indirección Obtiene los operandos indirectos de la instrucción de máquina. Objetivo es transformar un direccionamiento indirecto en uno directo. Microoperaciones del ciclo: Se asume un formato de instrucción de una sola dirección. t1: MAR IR(dirección) t2: MDR Memoria t3: IR(dirección) MDR (dirección)

Ciclo de interrupción Puede ocurrir al finalizar el ciclo de ejecución. Se ejecuta si alguna señal de interrupción ha sido emitida. Objetivo: Guardar la dirección de la siguiente instrucción a ejecutarse. Pasar el control a la rutina de interrupción. Microoperaciones del ciclo: t1: MDR PC t2: MAR Dirección almacenamiento PC Dirección rutina interrupción t3: Memoria MDR

Ciclo de Ejecución El número de micro operaciones a ejecutarse no es fijo como en los otros . La cantidad de micro operaciones depende de la instrucción de máquina. Ejemplo: ADD AX, [5] t1: MAR IR(5) t2: MDR Memoria t3: AX AX + MDR

Historia… Avances en Tecnología de Circuitos Integrados Complejidad en las instrucciones y modos de direccionamiento Computadoras de Instrucciones Complejas IBM360 CISC Complex Instruction Set Computer

Brecha … Mejor rendimiento de las computadoras: salto entre el lenguaje de alto nivel y el lenguaje máquina. No siempre se lograba

Análisis (Donald Knuth) La mayoría de las sentencias son asignaciones y condicionales (benchmark). Instrucciones Tiempo promedio Asignaciones 47 Condicionales 23 Llamadas 15 Lazos 6 Saltos 3 Otras 7

CISC a RISC La mayoría de los programas: simples a nivel de las instrucciones (poco o ningún costo al aumentar la complejidad). Los compiladores no aprovechan las instrucciones y modos de direccionamiento complejos. Dificultad en el análisis de código Lenguaje Alto nivel – Lenguaje ensamblador

RISC Reduce Instruction Set Computer Resolver el caso frecuente: asignación Hacerla veloz y simple Concentrarse en dos comandos para comunicarse con memoria: CARGAR: LOAD (LD) ALMACENAR: STORE(ST)

RISC Los accesos a memoria se pueden superponer Se requieren más registros Conjunto de Instrucciones Simple = CPU simple y pequeña = libera espacio del CI El espacio liberado se puede usar para mas registros

pocas instrucciones complejas vs muchas instrucciones simples Ciclos largos de memoria Precios de memoria elevados Programas con pocas instrucciones complejas vs Programas con muchas instrucciones simples Memorias económicas Jerarquía de memoria

Pipelining Segmentación de instrucciones Estructura que permite que distintas instrucciones, que comparten el mismo hardware, puedan encontrarse en distintas fase de la ejecución Ejemplo: Mientras una instrucción accede a cada operando en el conjunto de registros, otra puede estar usando la ALU

Pipelining Para que la segmentación funcione las instrucciones deben ser semejantes. La búsqueda anticipada de las instrucciones hacia una cola de instrucciones en la CPU antes de que las necesite. Juego de instrucciones diseñado para una arquitectura segmentada Instrucciones simples

Pipelining Todas las instrucciones son de longitud fija, y su tamaño es la palabra. Instrucciones con operaciones simples Instrucciones complejas se deben ser convertidas por el compilador en instrucciones simples. Operandos en registros (LD, ST) Modos de direccionamiento simples Muchos registros

Pipelining Instrucciones aritméticas Búsqueda de la instrucción Decodificación Búsqueda de operandos, desde los registros Transferencia de operandos a la ALU Almacenamiento en el registro apropiado

Pipelining Instrucciones de bifurcación Búsqueda de la instrucción Decodificación Búsqueda de componentes de la dirección a partir de la instrucción o en algún registro. Transferencia de los componentes de la dirección a la unidad aritmética para realizar el cálculo de la dirección. Copia la dirección en PC

Pipelining Instrucciones de acceso a memoria Búsqueda de la instrucción Decodificación Búsqueda de componentes de la dirección a partir de la instrucción o del conjunto de registros Transferencia de los componentes de la dirección a la unidad aritmética para realizar el cálculo de la dirección. Uso de la dirección efectiva para leer o escribir

En general Segmentación de instrucciones en 4 etapas Búsqueda de la instrucción Decodificación de la instrucción Búsqueda del operando Ejecución(operación en la alu y escritura) Segmentación de instrucciones en 4 etapas

Pipeline (Referencia a memoria y Salto) ADD LD SHL SUB JNZ NOP

Superposición de Ventanas de registros Se pierde tiempo manejando las llamadas a procedimientos y los regresos Transferencia de parámetros a través de la pila ubicada en la memoria principal. Uso de múltiples conjuntos de registros que se superponen Se utilizan para transferir los parámetros entre procedimientos, en lugar de usar la pila.

Superposición de Ventanas de Registros

Proc A B CWP = 8 CWP = 24 Buffer circular

Máquinas con instrucciones múltiples Distintas instrucciones en diferentes etapas de su ejecución Arquitectura superescalar IU: Integer unit FPU: Floating Point Unit BPU: Branch Processing Unit

Máquinas superescalares Unidad de instrucciones Búsqueda anticipada de instrucciones Colocarlas en una fila de instrucciones Determinar los tipos de instrucciones y las relaciones de dependencia entre las mismas Distribuirlas entre las distintas unidades de ejecución

POWER PC 601

Procesamiento Paralelo Se coordina la acción de varios procesadores que trabajan sobre un único problema Programa CPU Tarea 1 Tarea 2 Tarea 3 Tarea 4 Tarea 5 Resultado

Máquinas Celulares y Sistólicas Taxonomía de Arquitecturas Paralelas Distribuida Memoria Compartida MIMD Control SIMD NYU RP3 HEP Cm* Cedar Alliant Cray CDC ES/9000 MaRS Manchester Dado Máquinas Funcionales Super Computadoras Máquinas Celulares y Sistólicas Illiac IV MPP Gapp Connection Machine Cosmic Cube HyperCube Intel SP1 *-Transputer Paso de Mensajes

Máquinas Paralelas Memoria Distribuida Compartida Control MIMD (Multiple Instruction Multiple Data) SIMD (Single Instruction Multiple Data) SISD (Single Instruction Single Data)

Memoria Compartida ... Distribuida ... Memoria Pn P1 P2 P1 M1 P2 M2 Pn Mn ...

Taxonomía de Flynn

¿Complejidad? Tiempo Espacio Número de procesadores Capacidad de la memoria local Esquema de comunicación Protocolos de sincronización

¿Complejidad? Sea P un problema y n su tamaño de entrada La complejidad secuencial de P se denota por T*(n) (el mejor algoritmo secuencial) Sea A un algoritmo paralelo que resuelve P en un tiempo Tp(n) en una computadora paralelo con p procesadores.

¿Complejidad? La aceleración lograda con A (speedup) se define como : La eficiencia lograda con A (efficiency) se define como:

Referencias Stallings William. Organización y Arquitectura de computadoras. 7ª. Edición, Pearson Education, 2006. Tanenbaum Andrew. Structured Computer Organization. 5ª. Edición, Prentice Hall, 2005.

Guion Explicativo Este Material sirve para presentar el cómo se realiza cada instrucción con el fin de ver sus componentes, las ventajas y desventajas que las arquitecturas emergentes deben subsanar o aprovechar, sobretodo las arquitecturas paralelas. Las diapositivas deben verse en orden, y se estima que se revisen en aproximadamente 9 horas. A continuación se presenta una tabla para relacionarlas con los objetivos y contenidos del curso.

Guion Explicativo